Comments 7
Насчёт хэша в качестве аргумента конкретно в данном случае, чем хуже это?
class Person
attr_accessor :name, :height, :hair_color
def initialize(name: nil, height: 0, hair_color: nil)
@name = name
@height = height
@hair_color = hair_color
end
end
Person.new(name: "Travis", hair_color: "brown", height: 6.25)
0
Удалите из initialize один из параметров, поймете.
-3
Ничем, я думаю книга писалась для раней версии руби, где не было именованных аргументов.
+3
при варианте хеша даже мне кажется черевато плавающими багами если разработка в команде. Допустим, один разработчик вызывает хеш с 3 аргументами. Второй — с четырьмя, но забыл модифицировать сам класс. Этот код будет работать, пока не всплывут "уши" где-нибудь при юзании переданного аргумента какой не засчитался за локальную переменную.
0
А хорошо заземленного рубиста не планируете переводить? Посвежее, да и отзывы на амазоне обнадеживают.
+1
Очень жду.
0
Охотно куплю
0
Sign up to leave a comment.
Сэнди Метц и объектно-ориентированное проектирование в Ruby