Разбиваем длинные выражения Ruby на несколько строк
Илья • 3 октября 2007 г.
Несколько компактных примеров о том, как можно разбивать длинные выражения в руби на несколько строк.
User.create! \
:name => 'Вася',
:password => '12345',
:login => 'vasya'
name = first_name +
last_name +
middle_name
name = "Sabanin" \
" Ilya" \
" Vladimirovich"
# name => "Sabanin Ilya Vladimirovich"
array.
find_all {|e| e.position > 5}.
map {|e| e.symbol}.
join('/').
downcase
6 комментариев:
Извините, но комментарии для этой статьи уже закрыты.

Кошерней будет все же User.create { :name => 'Вася', :password => '12345', :login => 'vasya', }
И ещекак-то фигово смотрится точка на одной строке, вызов на другой. Лучше блоки разделять, типа
array.find do |el|
el.something
end.map do |el|
el.something
end.join('/').downcase
Блин, все newline'ы убились. В общем, я имел в виду, что красиво, когда параметром в функцию передается хэш, открывать фигурную скобку на той же строке, что и вызов функции, затем построчно перечислять key => value, индентя пробелами так, чтобы смотрелось ровно вертикально, оставлять запятую после последней пары key => value и закрывать фигурную скобку на следующей строке.
Да мы и не пропагандируем эти методы, мы просто демонстрируем возможности Руби.
Возможности, бесспорно, величайшие )))
Наврали!
irb(main):001:0> name = “Sabanin” \ irb(main):002:0* “Ilya” \ irb(main):003:0* “Vladimirovich” => “SabaninIlyaVladimirovich”
=)
Точно, опечатка вышла :)