루비의 for 루프 구문
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
limit = array.length;
for counter in 0..limit
--- make some actions ---
end
다른 방법은 다음과 같습니다.
3.times do |n|
puts n;
end
0, 1, 2를 인쇄하므로 배열 반복자처럼 사용할 수도 있습니다.
저자의 요구에 더 적합한 변형을 생각하십시오.
나는 이것을 구글 "루 비용 루비"에 대한 상위 링크로 계속 치고있다. 그래서 단계가 단순히 '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
동등성은
for i in (0...array.size)
end
또는
(0...array.size).each do |i|
end
또는
i = 0
while i < array.size do
array[i]
i = i + 1 # where you may freely set i to any value
end
array.each_index do |i|
...
end
Rubyish는 아니지만 Ruby의 질문에서 for 루프를 수행하는 가장 좋은 방법입니다.
고정 된 횟수만큼 루프를 반복하려면 다음을 시도하십시오.
n.times do
#Something to be done n times
end
뭐? 2010 년부터 루비는 / in 루프에 대해 괜찮다고 언급하지 않았습니다 (아무도 사용하지 않습니다).
ar = [1,2,3,4,5,6]
for item in ar
puts item
end
If you don't need to access your array, (just a simple for loop) you can use upto or each :
Upto:
1.9.3p392 :030 > 2.upto(4) {|i| puts i}
2
3
4
=> 2
Each:
1.9.3p392 :031 > (2..4).each {|i| puts i}
2
3
4
=> 2..4
['foo', 'bar', 'baz'].each_with_index {|j, i| puts "#{i} #{j}"}
Ruby's enumeration loop syntax is different:
collection.each do |item|
...
end
This reads as "a call to the 'each' method of the array object instance 'collection' that takes block with 'blockargument' as argument". The block syntax in Ruby is 'do ... end' or '{ ... }' for single line statements.
The block argument '|item|' is optional but if provided, the first argument automatically represents the looped enumerated item.
참고URL : https://stackoverflow.com/questions/2032875/syntax-for-a-for-loop-in-ruby
'programing' 카테고리의 다른 글
속도 템플릿과 유사한 자바의 문자열 대체 (0) | 2020.10.06 |
---|---|
Java에서 두 날짜 사이의 일 차이? (0) | 2020.10.06 |
두 날짜 사이의 달을 찾는 가장 좋은 방법 (0) | 2020.10.06 |
git AuthorDate가 CommitDate와 다른 이유는 무엇입니까? (0) | 2020.10.05 |
Swift의 Exhaustive Switch 문에 대한 Noop (0) | 2020.10.05 |