Я хочу использовать для-всех и счетчик:Автоматический счетчик в Ruby для каждого?
i=0
for blah in blahs
puts i.to_s + " " + blah
i+=1
end
Есть ли лучший способ сделать это?
Примечание: я не знаю, если blahs
массив или хэш, но приходится делать blahs[i]
бы не сделать это намного сексуальнее. Также я хотел бы знать, как написать i++
в Ruby.
Технически, Мэтт и ответ Squeegy пришел в первый, но я даю лучший ответ paradoja так распространился вокруг точек немного на SO. Также в его ответе была заметка о версиях, которая по-прежнему актуальна (пока мой Ubuntu 8.04 использует Ruby 1.8.6).
Если вы использовали puts "#{i} #{blah}"
, который является гораздо более емким.
Там нет оператора инкремента в Ruby. N + = 1, который вы написали, есть ближайший эквивалент. Он должен быть синтаксическим сахаром для n + = 1, что само по себе сокращается при n = n + 1. Идея ++ была отвергнута, поскольку она скрывает тот факт, что вы переназначаете переменную. http://rubyurl.com/Dsb1 – Chuck
Ницца! Спасибо Чак. Я был вынужден изучить ++ i и i ++ в Java, поэтому я просто подумал, что он всегда будет там. –