루프

2011-10-29 3 views
1

은 내가 루프

@somethings.each do |something| 
/*some work with something*/ 
end 

을 할 수있어 레일하지만 난

의와 @somethings 돌이 내가

for i in 0..10 
    @somethings[i].myattribute 
end 

을 시도 할 수 있는지 알고 싶어하지만 그것이 나에게 내가 원하는 물건이나, 내가 아는 한 물건을 내게주지 마라.

for 루프를 사용해야하는데 "each"로 원하는 것을 할 수 없습니다. 어떻게 든 for 루프를 사용할 수 있습니까? 당신이 작업하고있는 컬렉션을 열거 할 경우

+0

잘 알아야 할 경우 : Rhomobile을 사용하여 앱을 개발하고 필요한 방식으로 레코드를 정렬 할 수 없으므로 for 루프를 사용하여 원하는 방식으로 레코드를 반복 할 수 있습니다. . – marimaf

+0

두 번째 예제에서 오타가 있다고 가정 할 때 저에게 적합합니다. –

+0

고마워요, 제가 잘못 입력 한 것이 었습니다. – marimaf

답변

1
for something in @somethings 
    something.myattribute 
end 

또는 이상한

@somethings_array = @somethings.to_a 
for i in 0..10 
    @somethings_array[i].myattribute 
end 

확인

@somethings_array = @somethings.to_a 
10.downto(1) do |i| 
    @somethings_array[i].myattribute 
end 
+0

고마워요,하지만 그건 제가 찾고있는 것이 아닙니다. 색인이 필요합니다. – marimaf

+0

확인. 대답을 업데이트했습니다. – fl00r

+0

감사합니다. 작동했습니다. – marimaf

3

,이처럼 each_with_index 방법을 사용할 수 있습니다

@somethings.each_with_index do |something, i| 
    something[i].an_attribute 
end 

이것은 거의 확실하게 wh를 수행해야합니다. 네가 원할 때.