Открыть список
Как стать автором
Обновить

Комментарии 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)
Удалите из initialize один из параметров, поймете.
Ничем, я думаю книга писалась для раней версии руби, где не было именованных аргументов.
при варианте хеша даже мне кажется черевато плавающими багами если разработка в команде. Допустим, один разработчик вызывает хеш с 3 аргументами. Второй — с четырьмя, но забыл модифицировать сам класс. Этот код будет работать, пока не всплывут "уши" где-нибудь при юзании переданного аргумента какой не засчитался за локальную переменную.
Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.

Информация

Дата основания
Местоположение
Россия
Сайт
piter.com
Численность
201–500 человек
Дата регистрации

Блог на Хабре