- 1
- 2
- 3
- 4
[23:16:22] Adam: sorry roles is
Role.all.each do |r|
@roles << r.name.gsub(/_/,' ').split.map(&:capitalize).join(' ')
end
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
−143
[23:16:22] Adam: sorry roles is
Role.all.each do |r|
@roles << r.name.gsub(/_/,' ').split.map(&:capitalize).join(' ')
end
Американец пробовал вывести массив типа такого ["Student", "Admin", ....] )))
Или я рубинуб
GOATSE
P.S. А что делает inject?
>>15
fold короче
Это такая стремная лямбда чтоли? Зачем такой неадекватный синтаксис? Хотя я подозреваю они просто хотели упростить парсинг, потому что стандартный вроде как посложнее может быть.
Рубисту предлагается на выбор множество лямбдоподобных конструкций с разными смыслами и поведением (это мы ещё класс Method не смотрели):
А можно как-нибудь так?
puts [1,2,3,4,5].inject(0)(+)
Вроде бы да: {|sum,x|sum+x}. Но я не рубист, и руби не люблю. Сталкивался с ним немного, когда возился с рельсами.
Первое от второго и третьего отличается тем где его можно использовать, т.е. одно вместо другого все равно не напишешь. Второго от третьего да, тонкое отличие есть.
Вот последнего синтаксиса не видел, это в Ruby 2.0\2.1 сахар ввели?
Говорят, в 1.9.1 ввели (это я из http://habrahabr.ru/post/85578/#comment_2630853 взял)
>each{|x|x[0]=x[0].upcase;x}}
нуб. capitalize как раз это и делает.