Ruby에서 이러한 유형의 for 루프를 어떻게 수행합니까?
for(int i=0; i<array.length; i++) {
}
Ruby에서 이러한 유형의 for 루프를 어떻게 수행합니까?
for(int i=0; i<array.length; i++) {
}
답변:
array.each do |element|
element.do_stuff
end
또는
for element in array do
element.do_stuff
end
색인이 필요한 경우 다음을 사용할 수 있습니다.
array.each_with_index do |element,index|
element.do_stuff(index)
end
each
훌륭합니다. 하지만 가끔은 망할 전통적인 for 루프를 원합니다. 때때로 "Ruby way"는 그냥 짜증나게 할 수 있습니다.
나는 이것을 구글 "루비를위한 루비"에 대한 상위 링크로 계속 누르기 때문에 단계가 단순히 '1'이 아닌 루프에 대한 솔루션을 추가하고 싶었습니다. 이러한 경우 Numerics 및 Date 개체에있는 '단계'메서드를 사용할 수 있습니다. 나는 이것이 'for'루프에 대한 근사치라고 생각합니다.
start = Date.new(2013,06,30)
stop = Date.new(2011,06,30)
# step back in time over two years, one week at a time
start.step(stop, -7).each do |d|
puts d
end
array.each_index do |i|
...
end
Rubyish는 아니지만 Ruby의 질문에서 for 루프를 수행하는 가장 좋은 방법입니다.
each
아니라 오히려 사실입니다 each_index
. +1
뭐? 2010 년부터 루비는 / in 루프에 대해 괜찮다고 언급하지 않았습니다 (아무도 사용하지 않습니다).
ar = [1,2,3,4,5,6]
for item in ar
puts item
end