2016-08-26 2 views
1

나는 대답 할 간단한 질문이 될 것입니다.Ruby Array Index

나는 emails이라는 배열을 가지고 있습니다.

나는 emails.each do |email|을 사용하여 반복합니다.

내가 말하고 싶은 것은 : 나는 if email.index == 0을 시도했습니다

# if array index is 0, do this. 

.

나는 솔루션을 찾으려고 노력했지만, 내 인생에서 찾을 수는 없습니다. 단 하나의 주장 일 뿐이므로 사례 진술을 피하고 싶습니다.

답변

2

사람들처럼 each_with_index

emails.each_with_index do |email, index| 

    if index == 0 
    # do something 
    end 

end 
+0

사람들이 열거로 인해 어디에서 왔는지 이해하지만,이 대답은 내가 한 것입니다. 모두 감사합니다 – Tom

1

전에, each_with_index 좋은 선택했다보십시오.

emails.each.with_index(1) do |email, index| 
    # ... 
end 
0

당신은 당신을 제공 할 것입니다 .each_with_index을 사용할 수 있습니다 : 당신이 0이 아닌 다른 어떤에서 색인을 시작하려는 경우, 더 나은 방법이 (점이 목적, 우리가 여기 Enumerator#with_index를 호출에 있습니다) 배열 내의 각 요소의 인덱스 예를 들어

다른 사람처럼

['a','b','c'].each_with_index {|item, index| 
    puts "#{item} has index #{index}" 
} 

출력

a has index 0 
b has index 1 
c has index 2 
+0

색인은 0부터 시작한다고 생각합니다. –

1

대답 당신은 열거해야하는 경우 :

emails.each.with_index([startindex]) do |email, index| 

예를 들어

emails.each.with_index(1) do |email, index| 
을3210

하지만 해당 요소를 필요로하는 경우 당신은

emails[0] 
0

확인과 같은 어떤이

emails.first 

처럼 직접에 역할을 할 수 있습니다. 당신은 인덱스 0을 찾고 있다면 - 당신은 emials[0] 또는 emails.at(0) 사용하거나 이메일을 반복 할 수 -

emails.each_with_index do |val, index| 
if index == 0 
# something 
end 
end 

그것은 전부입니다.