2016-08-26 10 views
1

私はおそらく簡単な質問になるでしょう。Ruby Array Index

私はemailsという配列を持っています。

私はemails.each do |email|を使用してそれらを繰り返しています。

私が言いたいことはある:私はif email.index == 0を試してみた

# if array index is 0, do this. 

私は解決策を見つけようとしましたが、私の人生にとってそれを見つけることはできません。唯一の議論なので、私はケースステートメントを避けたいと思います。人々はeach_with_indexが良い選択である、前にも言ったように

答えて

2

each_with_index

emails.each_with_index do |email, index| 

    if index == 0 
    # do something 
    end 

end 
+0

私は列挙で人がどこから来ているのか理解していますが、この回答は私が後にしたものです。ありがとうございました – Tom

1

を試してみてください。

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

OKと同じである何この

emails.first 

のように直接に作用することができます。あなたは、インデックス0を探している場合 - あなたはemials[0]またはemails.at(0)使用するか、電子メールを反復処理することができます -

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

それがすべてです。