PHPは、欠点はあるものの、この点では優れています。配列とハッシュに違いはありません(私がナイーブなだけかもしれませんが、明らかに正しいと思います)。どちらを反復処理するにしても、
foreach (array/hash as $key => $value)
Ruby では、このようなことを実行する方法がいくつかあります。
array.length.times do |i|
end
array.each
array.each_index
for i in array
ハッシュの方が理にかなっています。なぜなら、私はいつも
hash.each do |key, value|
なぜ配列に対してこれができないのでしょうか? 1 つのメソッドだけを覚えておきたい場合は、 を使用できると思います(インデックスと値の両方が使用可能になるため)。しかし、だけでなく をeach_index
実行する必要があるのは面倒です。array[index]
value
ああそうだ、 を忘れていたarray.each_with_index
。しかし、これは が続くので最悪だ|value, key|
!これは狂気ではないか?hash.each
|key, value|
ベストアンサー1
これはすべての要素を反復処理します:
array = [1, 2, 3, 4, 5, 6]
array.each { |x| puts x }
# Output:
1
2
3
4
5
6
これにより、すべての要素が反復処理され、値とインデックスが提供されます。
array = ["A", "B", "C"]
array.each_with_index {|val, index| puts "#{val} => #{index}" }
# Output:
A => 0
B => 1
C => 2
あなたの質問からは、どれを探しているのかよく分かりません。