Ивайло обнови решението на 14.11.2011 01:04 (преди около 13 години)
+REPOSITORY = "https://github.com/Sachanski/ruby-retrospective-1"
+
+#Какво научих:
+# * Първа задача:
+# * Не прави Hash Джаварски(Hash.new).
+# * ползвай each вмест for - и без това отдолу е имплементирано #чрез each.
+# * 2 спейса идентация.
+# * конвенцията за методи и променливи в Руби е snake_case, не #camelCase.
+# * Втора задача:
+# * използвай тернарен оператор вместо грозното if-then-end.
+# * методи от рода на select, map, inject изглеждат доста #приятно, когато се използват на място. Съкръщават кода и го #правят по-лесно четим.
+# * Трета задача:
+# * повечко класове и методи (почти) никога не вредят.
+# * в първоначалното решение не бях написал принта и макар да #съм го преписал почти дословно си направих труда да погледна Kernel#sprintf(), за да разбера как работи.
+# * използвай Duck Typing - ТОВА Е РУБИ, макар и за конкретната #задача да мисля, че концептуално е по-добре трите промоции да #имат общ родител...Но това може би е изкривяване от писането на #не-динамични #езици.
+# * Лични наблюдения и поуки:
+# * ако човек не внимава, може адски много да си омаже кода #поради гъвкъвостта на Руби. При мен това се случи докато решавах #третата задача - поради пропускането на някой и друг use-case #тръгнах да пиша #бързи dirty fix-ове. За щастие сравнително рано #осъзнах, че ще по-добре просто да разбия логиката в различни #класове.
+#
+#П.П. Само десетина написах понеже не искам да си изсмуквам от #пръстите и да пиша глупости. Надявам се да са достатъчни.