Rubyではfor-loopsを使うのは悪いスタイルです。これは一般的に理解されています。私には、推奨 スタイルガイド: (https://github.com/bbatsov/ruby-style-guide#source-code-layout) は言う:Rubyでforループを置き換えるにはどうしたらいいですか?
「あなたは理由を正確に知っている限り決して、使用しない時イテレータのほとんどは、それぞれの面に実装されているために代わりに使用する必要があります(そう。インジケーションのレベルを追加していますが、新しいスコープを導入しないために、そのブロックに定義されている変数が外部に表示されるようになりました。所与
例は:
arr = [1, 2, 3]
#bad
for elem in arr do
puts elem
end
# good
arr.each { |elem| puts elem }
私が研究していると私は場所に渡すかに算術演算を実行することができる反復値を提供するforループをシミュレートする方法として、私は説明を見つけることができません。例えば は、何で私が置き換えます:それは1つの配列だが、私は多くの場合、他の目的のために現在の位置を必要とする場合
for i in 0...size do
puts array1[i]
puts array2[size-1 - i]
puts i % 2
end
それは簡単です。 私は行方不明の単純な解決法、またはのが必要な状況があります。さらに、私は人々がについてについて話しているように、決してそれが必要でないかのように聞きます。これはどういう意味ですか?
改良できますか?それがあれば、解決策は何ですか?ありがとう。あなたはとは、インデックスを追跡するコレクションを反復処理したい場合は
'array1'と' array2'のサイズが同じであると仮定すると、 'array2 [-1 - i]'と書くと 'size'を計算する必要がなくなります。 – Borodin