Решение на Пета задача от Изабела Недялкова

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

Към профила на Изабела Недялкова

Код

REPOSITORY = 'https://github.com/bella92/ruby-retrospective-2'
#1. Научих, че мога да използвам #select, вместо да пълня излишен помощен списък ръчно
#2. А също и да ползвам #none?, вместо да итерирам с #each и да връщам true и false в C-style
#3. Разбрах, че се използва ‘?’ след името на метод, за да се обозначи, че той е предикат
#4. Както и че #map се предпочита пред #collect
#5. Научих, че имена на променливи не се съкращават, само за да се спестят няколко символа код
#6. Разбрах, че се предпочитат and и or, вместо && и ||
#7. Разбрах колко са удобни #each_with_object и оператора ||= за конструиране на хешове и списъци и как спестяват лоши идеи като Hash.new { |hash, key| hash[key] = [] }
#8. Разбрах, че, когато имаш няколко класови метода, е по-удобно да се напише class << self и да се групират, отколкото за всеки метод да се пише self.
#9. Открих и че като цяло няма смисъл от създаването на излишни променливи, когато това, което им се присвоява, не е голямо количество код, и може директно да бъде подадено като параметър
#10. Открих колко полезно е да си предефинираш оператори понякога
#11. Разбрах, че е по-удачно в конструктора да се подават толкова на брой аргументи, колкото са инстанционните променливи, а не да се разпльоква един
#12. Осъзнах, че няма особен смисъл да се обособяват отделни методи, които имат за цел да съкратят многократното използване на object.method по-нататък, но името му е от сорта на methoded_object и в общи линии не пести нищо
#13. Но пък е идейно 100 пъти срещане на #new(1), например, да се замени с прост допълнителен метод #one
#14. Разбрах, че е допустимо имената на променливи, които адски често се срещат в кода, да бъдат съкращавани (my whole ruby was a lie)
#15. Научих се да предизвиквам изключения (крайно време беше)
#16. Разбрах, че няма смисъл да пиша /[_[:alnum:]]/, когато мога да напиша /\w/
#17. Научих Positive lookahead (?=pat), Negative lookahead (?!pat), Positive lookbehind (?<=pat) и Negative lookbehind (?<!pat)
#18. Разбрах как се използват отвън референциите към групи от типа $1, $2 и т.н.
#19. Разбрах как да интерполирам регулярни изрази и колко голяма полза има от тях, особено, за да не се стига до редове с 200 символа
#20. Научих се да не ползвам константи (и то на грешно място), за да избегна skeptic и най-вече да не предавам в последната възможна секунда :)

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

Изабела обнови решението на 30.12.2012 20:31 (преди над 11 години)

+REPOSITORY = 'https://github.com/bella92/ruby-retrospective-2'
+
+#1. Научих, че мога да използвам #select, вместо да пълня #излишен помощен списък ръчно
+#2. А също и да ползвам #none?, вместо да итерирам с #each и да #връщам true и false в C-style
+#3. Разбрах, че се използва ‘?’ след името на метод, за да се #обозначи, че той е предикат
+#4. Както и че #map се предпочита пред #collect
+#5. Научих, че имена на променливи не се съкращават, само за да #се спестят няколко символа код
+#6. Разбрах, че се предпочитат and и or, вместо && и ||
+#7. Разбрах колко са удобни #each_with_object и оператора ||= за #конструиране на хешове и списъци и как спестяват лоши идеи като #Hash.new { |hash, key| hash[key] = [] }
+#8. Разбрах, че, когато имаш няколко класови метода, е по-удобно #да се напише class << self и да се групират, отколкото за всеки #метод да се пише self.
+#9. Открих и че като цяло няма смисъл от създаването на излишни #променливи, когато това, което им се присвоява, не е голямо #количество код, и може директно да бъде подадено като параметър
+#10. Открих колко полезно е да си предефинираш оператори понякога
+#11. Разбрах, че е по-удачно в конструктора да се подават толкова #на брой аргументи, колкото са инстанционните променливи, а не #да се разпльоква един
+#12. Осъзнах, че няма особен смисъл да се обособяват отделни #методи, които имат за цел да съкратят многократното използване #на object.method по-нататък, но името му е от сорта на #methoded_object и в общи линии не пести нищо
+#13. Но пък е идейно 100 пъти срещане на #new(1), например, да се #замени с прост допълнителен метод #one
+#14. Разбрах, че е допустимо имената на променливи, които адски #често се срещат в кода, да бъдат съкращавани (my whole ruby was #a lie)
+#15. Научих се да предизвиквам изключения (крайно време беше)
+#16. Разбрах, че няма смисъл да пиша /[_[:alnum:]]/, когато мога #да напиша /\w/
+#17. Научих Positive lookahead (?=pat), Negative lookahead #(?!pat), Positive lookbehind (?<=pat) и Negative lookbehind #(?<!pat)
+#18. Разбрах как се използват отвън референциите към групи от #типа $1, $2 и т.н.
+#19. Разбрах как да интерполирам регулярни изрази и колко голяма #полза има от тях, особено, за да не се стига до редове с 200 #символа
+#20. Научих се да не ползвам константи (и то на грешно място), #за да избегна skeptic и най-вече да не предавам в последната #възможна секунда :)

Изабела обнови решението на 30.12.2012 20:34 (преди над 11 години)

REPOSITORY = 'https://github.com/bella92/ruby-retrospective-2'
-#1. Научих, че мога да използвам #select, вместо да пълня #излишен помощен списък ръчно
-#2. А също и да ползвам #none?, вместо да итерирам с #each и да #връщам true и false в C-style
-#3. Разбрах, че се използва ‘?’ след името на метод, за да се #обозначи, че той е предикат
+#1. Научих, че мога да използвам #select, вместо да пълня излишен помощен списък ръчно
+#2. А също и да ползвам #none?, вместо да итерирам с #each и да връщам true и false в C-style
+#3. Разбрах, че се използва ‘?’ след името на метод, за да се обозначи, че той е предикат
#4. Както и че #map се предпочита пред #collect
-#5. Научих, че имена на променливи не се съкращават, само за да #се спестят няколко символа код
+#5. Научих, че имена на променливи не се съкращават, само за да се спестят няколко символа код
#6. Разбрах, че се предпочитат and и or, вместо && и ||
-#7. Разбрах колко са удобни #each_with_object и оператора ||= за #конструиране на хешове и списъци и как спестяват лоши идеи като #Hash.new { |hash, key| hash[key] = [] }
-#8. Разбрах, че, когато имаш няколко класови метода, е по-удобно #да се напише class << self и да се групират, отколкото за всеки #метод да се пише self.
-#9. Открих и че като цяло няма смисъл от създаването на излишни #променливи, когато това, което им се присвоява, не е голямо #количество код, и може директно да бъде подадено като параметър
+#7. Разбрах колко са удобни #each_with_object и оператора ||= за конструиране на хешове и списъци и как спестяват лоши идеи като Hash.new { |hash, key| hash[key] = [] }
+#8. Разбрах, че, когато имаш няколко класови метода, е по-удобно да се напише class << self и да се групират, отколкото за всеки метод да се пише self.
+#9. Открих и че като цяло няма смисъл от създаването на излишни променливи, когато това, което им се присвоява, не е голямо количество код, и може директно да бъде подадено като параметър
#10. Открих колко полезно е да си предефинираш оператори понякога
-#11. Разбрах, че е по-удачно в конструктора да се подават толкова #на брой аргументи, колкото са инстанционните променливи, а не #да се разпльоква един
-#12. Осъзнах, че няма особен смисъл да се обособяват отделни #методи, които имат за цел да съкратят многократното използване #на object.method по-нататък, но името му е от сорта на #methoded_object и в общи линии не пести нищо
-#13. Но пък е идейно 100 пъти срещане на #new(1), например, да се #замени с прост допълнителен метод #one
-#14. Разбрах, че е допустимо имената на променливи, които адски #често се срещат в кода, да бъдат съкращавани (my whole ruby was #a lie)
+#11. Разбрах, че е по-удачно в конструктора да се подават толкова на брой аргументи, колкото са инстанционните променливи, а не да се разпльоква един
+#12. Осъзнах, че няма особен смисъл да се обособяват отделни методи, които имат за цел да съкратят многократното използване на object.method по-нататък, но името му е от сорта на methoded_object и в общи линии не пести нищо
+#13. Но пък е идейно 100 пъти срещане на #new(1), например, да се замени с прост допълнителен метод #one
+#14. Разбрах, че е допустимо имената на променливи, които адски често се срещат в кода, да бъдат съкращавани (my whole ruby was a lie)
#15. Научих се да предизвиквам изключения (крайно време беше)
-#16. Разбрах, че няма смисъл да пиша /[_[:alnum:]]/, когато мога #да напиша /\w/
-#17. Научих Positive lookahead (?=pat), Negative lookahead #(?!pat), Positive lookbehind (?<=pat) и Negative lookbehind #(?<!pat)
+#16. Разбрах, че няма смисъл да пиша /[_[:alnum:]]/, когато мога да напиша /\w/
-#18. Разбрах как се използват отвън референциите към групи от #типа $1, $2 и т.н.
+#17. Научих Positive lookahead (?=pat), Negative lookahead (?!pat), Positive lookbehind (?<=pat) и Negative lookbehind (?<!pat)
-#19. Разбрах как да интерполирам регулярни изрази и колко голяма #полза има от тях, особено, за да не се стига до редове с 200 #символа
+#18. Разбрах как се използват отвън референциите към групи от типа $1, $2 и т.н.
-#20. Научих се да не ползвам константи (и то на грешно място), #за да избегна skeptic и най-вече да не предавам в последната #възможна секунда :)
+#19. Разбрах как да интерполирам регулярни изрази и колко голяма полза има от тях, особено, за да не се стига до редове с 200 символа
+#20. Научих се да не ползвам константи (и то на грешно място), за да избегна skeptic и най-вече да не предавам в последната възможна секунда :)