Решение на Пета задача от Александър Иванов

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

Към профила на Александър Иванов

Код

REPOSITORY = 'https://github.com/bliof/ruby-retrospective-2.git'
# 1. Не е добре да се връщат обекти с неочаквано поведение - пр. Hash.new { |hash, key| hash[key] = [] }
# 2. Enumerable има group_by метод, който връща Hash с ключове - нещата, който се итерират, а
# стойности - масив от резултатите върнати от подадения блок.
# 3. Когато някакъв клас интерпретира "нещо" чрез класове,
# отговарящи на един и същ интерфейс, като за всяка функционална
# единица от "нещото" съществува клас отговарящ на този интерфейс,
# то всичко това може да се определи като "interpreter pattern"...
#
# Регулярни изрази:
# 4. \A - показва началото на низ
# 5. \z - края на низ
# 6. \Z - край на низ и пропуска последния нов ред ако го има.
#
# 7. Може в модул да се викне "extend self" и да се добавят функциите от него и в собствения му клас.
# 8. "raise Exception.new" не е редно да се прави
# 9. Array#| връща обединението на два масива

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

Александър обнови решението на 29.12.2012 17:48 (преди около 12 години)

+REPOSITORY = 'https://github.com/bliof/ruby-retrospective-2.git'
+
+# 1. Не е добре да се връщат обекти с неочаквано поведение - пр. Hash.new { |hash, key| hash[key] = [] }
+# 2. Enumerable има group_by метод, който връща Hash с ключове - нещата, който се итерират, а
+# стойности - масив от резултатите върнати от подадения блок.
+# 3. Когато някакъв клас интерпретира "нещо" чрез класове,
+# отговарящи на един и същ интерфейс, като за всяка функционална
+# единица от "нещото" съществува клас отговарящ на този интерфейс,
+# то всичко това може да се определи като "interpreter pattern"...
+#
+# Регулярни изрази:
+# 4. \A - показва началото на низ
+# 5. \z - края на низ
+# 6. \Z - край на низ и пропуска последния нов ред ако го има.
+#
+# 7. Може в модул да се викне "extend self" и да се добавят функциите от него и в собствения му клас.
+# 8. "raise Exception.new" не е редно да се прави
+# 9. Array#| връща обединението на два масива