Решение на Пета задача от Габриела Лухова

Обратно към всички решения

Към профила на Габриела Лухова

Резултати

  • 6 точки от тестове
  • 0 бонус точки
  • 6 точки общо
  • 0 успешни тест(а)
  • 0 неуспешни тест(а)

Код

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
#1. Използването на case води до много подреден, лесно четящ се и разбираем
#код.
#2. За разлика от някои други езици за програмиране, в Ruby условията на if не
#се ограждат в скоби.
#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да
#подобриш решението си, а и feedback-ът от екипа е доста полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
#5. attr_accessor, attr_reader и attr_writer използваме единствено когато
#наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби,
#което от своя страна води до грешки в резултата от програмата.
#8. Тестовете са необходимост и не трябва да се разчита само на примерните.
#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно
#да създадем наша колекция, в която можем да ползваме наготово методите,
#дефинирани в Enumerable.
#10. Трябва добре да познаваме документацията на различните класове и
#библиотеки, за да не си пишем сами методи, които вече съществуват.
#11. Enumerable#each_with_object е много удобен когато искаме да запазим в
#някакъв обект (например масив или хеш) резултатите от обхождането и после да
#върнем обекта.
#12. При сравняване с операторите || и && на резултатите от две или повече
#функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе
#получаваме грешка. Това не важи, ако при сравняването използваме операторите
#and и or.
#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да
#ползваме multiple assignment.
#14. Когато искаме да присвоим различна стойност на една променлива спрямо
#различни случаи, използвайки case, не е нужно това да се случва в тялото на
#case - поотделно за всеки случай. case винаги връща стойност, затова просто
#assing-ваме дадената променлива с резултата от case.
#15. Какво е и как работи интерполацията.
#16. Инстанционните променливи се появяват при първото им задаване на стойност.
#17. Какво е метапрограмиране.
#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай
#решението на пета задача, например как мога да променя името (съобщението) на
#последния push-нат commit с git commit --amend.
#19. Методите на даден клас, които се ползват единствено като помощни от други
#методи на класа, е добре да бъдат дефинирани в private частта на класа.
#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код
#да бъде изнесен в модул, за да се постигне по-добра капсулация.

История (6 версии и 0 коментара)

Габриела обнови решението на 19.01.2015 15:39 (преди почти 10 години)

+REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
+
+#Двадесет неща, които научих:
+#
+#1. Използването на case води до много подреден, лесно четящ се и #разбираем
+#код.
+#2. За разлика от някои други езици за програмиране, в Ruby условията #на if не се ограждат в скоби.
+#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш #време сам да подобриш решението си, а и feedback-ът от екипа е доста #полезен.
+#4. Не е нужно да използваме return, за да върнем стойност.
+#5. attr_accessor, attr_reader и attr_writer използваме единствено #когато наистина ни трябват полета за четене/писане.
+#6. Какво е и как работи super().
+#7. Copy-paste-ването на код води до глупави грешки като изпускането #на скоби, което от своя страна води до грешки в резултата от #програмата.
+#8. Тестовете са необходимост и не трябва да се разчита само на #примерните.
+#9. Чрез include-ването на Enumerable и дефинирането на метод each #можем лесно да създадем наша колекция, в която можем да ползваме #наготово методите, дефинирани в Enumerable.
+#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
+#11. Enumerable#each_with_object е много удобен когато искаме да #запазим в някакъв обект (например масив или хеш) резултатите от #обхождането и после да върнем обекта.
+#12. При сравняване с операторите || и && на резултатите от две или #повече функции, приемащи аргументи, трябва да оградим аргументите със #скоби, иначе получаваме грешка. Това не важи, ако при сравняването #използваме операторите and и or.
+#13. Когато знаем точно колко елемента ще съдържа даден масив е много #удобно да ползваме multiple assignment.
+#14. Когато искаме да присвоим различна стойност на една променлива #спрямо различни случаи, използвайки case, не е нужно това да се #случва в тялото на case - поотделно за всеки случай. case винаги #връща стойност, затова просто assing-ваме дадената променлива с #резултата от case.
+#15. Какво е и как работи интерполацията.
+#16. Инстанционните променливи се появяват при първото им задаване на #стойност.
+#17. Какво е метапрограмиране.
+#18. Колко интересен и полезен е Git. Научих няколко нови команди #покрай решението на пета задача, например как мога да променя името #(съобщението) на последния push-нат commit с git commit --amend.
+#19. Методите на даден клас, които се ползват единствено като помощни #от други методи на класа, е добре да бъдат дефинирани в private #частта на класа.
+#20. Когато програмата ни представлява някакъв вид библиотека е добре #целият код да бъде изнесен в модул, за да се постигне по-добра #капсулация.

Габриела обнови решението на 19.01.2015 15:40 (преди почти 10 години)

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
-#1. Използването на case води до много подреден, лесно четящ се и #разбираем
-#код.
+#1. Използването на case води до много подреден, лесно четящ се и #разбираем код.
#2. За разлика от някои други езици за програмиране, в Ruby условията #на if не се ограждат в скоби.
#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш #време сам да подобриш решението си, а и feedback-ът от екипа е доста #полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
#5. attr_accessor, attr_reader и attr_writer използваме единствено #когато наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
#7. Copy-paste-ването на код води до глупави грешки като изпускането #на скоби, което от своя страна води до грешки в резултата от #програмата.
#8. Тестовете са необходимост и не трябва да се разчита само на #примерните.
#9. Чрез include-ването на Enumerable и дефинирането на метод each #можем лесно да създадем наша колекция, в която можем да ползваме #наготово методите, дефинирани в Enumerable.
#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
#11. Enumerable#each_with_object е много удобен когато искаме да #запазим в някакъв обект (например масив или хеш) резултатите от #обхождането и после да върнем обекта.
#12. При сравняване с операторите || и && на резултатите от две или #повече функции, приемащи аргументи, трябва да оградим аргументите със #скоби, иначе получаваме грешка. Това не важи, ако при сравняването #използваме операторите and и or.
#13. Когато знаем точно колко елемента ще съдържа даден масив е много #удобно да ползваме multiple assignment.
#14. Когато искаме да присвоим различна стойност на една променлива #спрямо различни случаи, използвайки case, не е нужно това да се #случва в тялото на case - поотделно за всеки случай. case винаги #връща стойност, затова просто assing-ваме дадената променлива с #резултата от case.
#15. Какво е и как работи интерполацията.
#16. Инстанционните променливи се появяват при първото им задаване на #стойност.
#17. Какво е метапрограмиране.
#18. Колко интересен и полезен е Git. Научих няколко нови команди #покрай решението на пета задача, например как мога да променя името #(съобщението) на последния push-нат commit с git commit --amend.
#19. Методите на даден клас, които се ползват единствено като помощни #от други методи на класа, е добре да бъдат дефинирани в private #частта на класа.
#20. Когато програмата ни представлява някакъв вид библиотека е добре #целият код да бъде изнесен в модул, за да се постигне по-добра #капсулация.

Габриела обнови решението на 19.01.2015 15:42 (преди почти 10 години)

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
-#1. Използването на case води до много подреден, лесно четящ се и #разбираем код.
-#2. За разлика от някои други езици за програмиране, в Ruby условията #на if не се ограждат в скоби.
-#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш #време сам да подобриш решението си, а и feedback-ът от екипа е доста #полезен.
+#1. Използването на case води до много подреден, лесно четящ се и разбираем
+#код.
+#2. За разлика от някои други езици за програмиране, в Ruby условията на if не #се ограждат в скоби.
+#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да #подобриш решението си, а и feedback-ът от екипа е доста полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
-#5. attr_accessor, attr_reader и attr_writer използваме единствено #когато наистина ни трябват полета за четене/писане.
+#5. attr_accessor, attr_reader и attr_writer използваме единствено когато #наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
-#7. Copy-paste-ването на код води до глупави грешки като изпускането #на скоби, което от своя страна води до грешки в резултата от #програмата.
-#8. Тестовете са необходимост и не трябва да се разчита само на #примерните.
-#9. Чрез include-ването на Enumerable и дефинирането на метод each #можем лесно да създадем наша колекция, в която можем да ползваме #наготово методите, дефинирани в Enumerable.
+#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби, #което от своя страна води до грешки в резултата от програмата.
+#8. Тестовете са необходимост и не трябва да се разчита само на примерните.
+#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно #да създадем наша колекция, в която можем да ползваме наготово методите, #дефинирани в Enumerable.
#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
-#11. Enumerable#each_with_object е много удобен когато искаме да #запазим в някакъв обект (например масив или хеш) резултатите от #обхождането и после да върнем обекта.
-#12. При сравняване с операторите || и && на резултатите от две или #повече функции, приемащи аргументи, трябва да оградим аргументите със #скоби, иначе получаваме грешка. Това не важи, ако при сравняването #използваме операторите and и or.
-#13. Когато знаем точно колко елемента ще съдържа даден масив е много #удобно да ползваме multiple assignment.
-#14. Когато искаме да присвоим различна стойност на една променлива #спрямо различни случаи, използвайки case, не е нужно това да се #случва в тялото на case - поотделно за всеки случай. case винаги #връща стойност, затова просто assing-ваме дадената променлива с #резултата от case.
+#11. Enumerable#each_with_object е много удобен когато искаме да запазим в #някакъв обект (например масив или хеш) резултатите от обхождането и после да #върнем обекта.
+#12. При сравняване с операторите || и && на резултатите от две или повече #функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе #получаваме грешка. Това не важи, ако при сравняването използваме операторите #and и or.
+#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да #ползваме multiple assignment.
+#14. Когато искаме да присвоим различна стойност на една променлива спрямо #различни случаи, използвайки case, не е нужно това да се случва в тялото на #case - поотделно за всеки случай. case винаги връща стойност, затова просто #assing-ваме дадената променлива с резултата от case.
#15. Какво е и как работи интерполацията.
-#16. Инстанционните променливи се появяват при първото им задаване на #стойност.
+#16. Инстанционните променливи се появяват при първото им задаване на стойност.
#17. Какво е метапрограмиране.
-#18. Колко интересен и полезен е Git. Научих няколко нови команди #покрай решението на пета задача, например как мога да променя името #(съобщението) на последния push-нат commit с git commit --amend.
-#19. Методите на даден клас, които се ползват единствено като помощни #от други методи на класа, е добре да бъдат дефинирани в private #частта на класа.
+#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай #решението на пета задача, например как мога да променя името (съобщението) на #последния push-нат commit с git commit --amend.
-#20. Когато програмата ни представлява някакъв вид библиотека е добре #целият код да бъде изнесен в модул, за да се постигне по-добра #капсулация.
+#19. Методите на даден клас, които се ползват единствено като помощни от други #методи на класа, е добре да бъдат дефинирани в private частта на класа.
+#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код #да бъде изнесен в модул, за да се постигне по-добра капсулация.

Габриела обнови решението на 19.01.2015 15:44 (преди почти 10 години)

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
#1. Използването на case води до много подреден, лесно четящ се и разбираем
#код.
-#2. За разлика от някои други езици за програмиране, в Ruby условията на if не #се ограждат в скоби.
-#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да #подобриш решението си, а и feedback-ът от екипа е доста полезен.
+#2. За разлика от някои други езици за програмиране, в Ruby условията на if не
+#се ограждат в скоби.
+#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да
+#подобриш решението си, а и feedback-ът от екипа е доста полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
-#5. attr_accessor, attr_reader и attr_writer използваме единствено когато #наистина ни трябват полета за четене/писане.
+#5. attr_accessor, attr_reader и attr_writer използваме единствено когато
+#наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
-#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби, #което от своя страна води до грешки в резултата от програмата.
+#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби,
+#което от своя страна води до грешки в резултата от програмата.
#8. Тестовете са необходимост и не трябва да се разчита само на примерните.
-#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно #да създадем наша колекция, в която можем да ползваме наготово методите, #дефинирани в Enumerable.
+#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно
+#да създадем наша колекция, в която можем да ползваме наготово методите, #дефинирани в Enumerable.
#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
-#11. Enumerable#each_with_object е много удобен когато искаме да запазим в #някакъв обект (например масив или хеш) резултатите от обхождането и после да #върнем обекта.
-#12. При сравняване с операторите || и && на резултатите от две или повече #функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе #получаваме грешка. Това не важи, ако при сравняването използваме операторите #and и or.
-#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да #ползваме multiple assignment.
-#14. Когато искаме да присвоим различна стойност на една променлива спрямо #различни случаи, използвайки case, не е нужно това да се случва в тялото на #case - поотделно за всеки случай. case винаги връща стойност, затова просто #assing-ваме дадената променлива с резултата от case.
+#11. Enumerable#each_with_object е много удобен когато искаме да запазим в
+#някакъв обект (например масив или хеш) резултатите от обхождането и после да #върнем обекта.
+#12. При сравняване с операторите || и && на резултатите от две или повече
+#функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе #получаваме грешка. Това не важи, ако при сравняването използваме операторите
+#and и or.
+#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да
+#ползваме multiple assignment.
+#14. Когато искаме да присвоим различна стойност на една променлива спрямо
+#различни случаи, използвайки case, не е нужно това да се случва в тялото на
+#case - поотделно за всеки случай. case винаги връща стойност, затова просто
+#assing-ваме дадената променлива с резултата от case.
#15. Какво е и как работи интерполацията.
#16. Инстанционните променливи се появяват при първото им задаване на стойност.
#17. Какво е метапрограмиране.
-#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай #решението на пета задача, например как мога да променя името (съобщението) на #последния push-нат commit с git commit --amend.
-#19. Методите на даден клас, които се ползват единствено като помощни от други #методи на класа, е добре да бъдат дефинирани в private частта на класа.
+#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай
-#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код #да бъде изнесен в модул, за да се постигне по-добра капсулация.
+#решението на пета задача, например как мога да променя името (съобщението) на
+#последния push-нат commit с git commit --amend.
+#19. Методите на даден клас, които се ползват единствено като помощни от други
+#методи на класа, е добре да бъдат дефинирани в private частта на класа.
+#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код
+#да бъде изнесен в модул, за да се постигне по-добра капсулация.

Габриела обнови решението на 19.01.2015 16:14 (преди почти 10 години)

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
#1. Използването на case води до много подреден, лесно четящ се и разбираем
#код.
#2. За разлика от някои други езици за програмиране, в Ruby условията на if не
#се ограждат в скоби.
#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да
#подобриш решението си, а и feedback-ът от екипа е доста полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
#5. attr_accessor, attr_reader и attr_writer използваме единствено когато
#наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби,
#което от своя страна води до грешки в резултата от програмата.
#8. Тестовете са необходимост и не трябва да се разчита само на примерните.
#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно
-#да създадем наша колекция, в която можем да ползваме наготово методите, #дефинирани в Enumerable.
+#да създадем наша колекция, в която можем да ползваме наготово методите,
+#дефинирани в Enumerable.
#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
#11. Enumerable#each_with_object е много удобен когато искаме да запазим в
-#някакъв обект (например масив или хеш) резултатите от обхождането и после да #върнем обекта.
+#някакъв обект (например масив или хеш) резултатите от обхождането и после да
+#върнем обекта.
#12. При сравняване с операторите || и && на резултатите от две или повече
-#функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе #получаваме грешка. Това не важи, ако при сравняването използваме операторите
+#функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе
+#получаваме грешка. Това не важи, ако при сравняването използваме операторите
#and и or.
#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да
#ползваме multiple assignment.
#14. Когато искаме да присвоим различна стойност на една променлива спрямо
#различни случаи, използвайки case, не е нужно това да се случва в тялото на
#case - поотделно за всеки случай. case винаги връща стойност, затова просто
#assing-ваме дадената променлива с резултата от case.
#15. Какво е и как работи интерполацията.
#16. Инстанционните променливи се появяват при първото им задаване на стойност.
#17. Какво е метапрограмиране.
#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай
#решението на пета задача, например как мога да променя името (съобщението) на
#последния push-нат commit с git commit --amend.
#19. Методите на даден клас, които се ползват единствено като помощни от други
#методи на класа, е добре да бъдат дефинирани в private частта на класа.
#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код
#да бъде изнесен в модул, за да се постигне по-добра капсулация.

Габриела обнови решението на 19.01.2015 16:15 (преди почти 10 години)

REPOSITORY = 'https://github.com/luhova/ruby-retrospective-4'
#Двадесет неща, които научих:
#
#1. Използването на case води до много подреден, лесно четящ се и разбираем
#код.
#2. За разлика от някои други езици за програмиране, в Ruby условията на if не
#се ограждат в скоби.
#3. Колкото по-рано си предадеш домашното, толкова по-добре. Имаш време сам да
#подобриш решението си, а и feedback-ът от екипа е доста полезен.
#4. Не е нужно да използваме return, за да върнем стойност.
#5. attr_accessor, attr_reader и attr_writer използваме единствено когато
#наистина ни трябват полета за четене/писане.
#6. Какво е и как работи super().
#7. Copy-paste-ването на код води до глупави грешки като изпускането на скоби,
#което от своя страна води до грешки в резултата от програмата.
#8. Тестовете са необходимост и не трябва да се разчита само на примерните.
#9. Чрез include-ването на Enumerable и дефинирането на метод each можем лесно
#да създадем наша колекция, в която можем да ползваме наготово методите,
#дефинирани в Enumerable.
-#10. Трябва добре да познаваме документацията на различните класове и #библиотеки, за да не си пишем сами методи, които вече съществуват.
+#10. Трябва добре да познаваме документацията на различните класове и
+#библиотеки, за да не си пишем сами методи, които вече съществуват.
#11. Enumerable#each_with_object е много удобен когато искаме да запазим в
#някакъв обект (например масив или хеш) резултатите от обхождането и после да
#върнем обекта.
#12. При сравняване с операторите || и && на резултатите от две или повече
#функции, приемащи аргументи, трябва да оградим аргументите със скоби, иначе
#получаваме грешка. Това не важи, ако при сравняването използваме операторите
#and и or.
#13. Когато знаем точно колко елемента ще съдържа даден масив е много удобно да
#ползваме multiple assignment.
#14. Когато искаме да присвоим различна стойност на една променлива спрямо
#различни случаи, използвайки case, не е нужно това да се случва в тялото на
#case - поотделно за всеки случай. case винаги връща стойност, затова просто
#assing-ваме дадената променлива с резултата от case.
#15. Какво е и как работи интерполацията.
#16. Инстанционните променливи се появяват при първото им задаване на стойност.
#17. Какво е метапрограмиране.
#18. Колко интересен и полезен е Git. Научих няколко нови команди покрай
#решението на пета задача, например как мога да променя името (съобщението) на
#последния push-нат commit с git commit --amend.
#19. Методите на даден клас, които се ползват единствено като помощни от други
#методи на класа, е добре да бъдат дефинирани в private частта на класа.
#20. Когато програмата ни представлява някакъв вид библиотека е добре целият код
#да бъде изнесен в модул, за да се постигне по-добра капсулация.