Ruby では、for ループを使用するスタイルは良くありません。これは一般的に理解されています。私に推奨されたスタイルガイド: ( https://github.com/bbatsov/ruby-style-guide#source-code-layout ) 言います:
「理由が正確にわからない限り、決して for を使用しないでください。ほとんどの場合、代わりにイテレータを使用する必要があります。 for はそれぞれの観点から実装されています (したがって、間接的なレベルを追加しています)。ただし、ひねりがあります - for は導入しません新しいスコープ (それぞれとは異なります) とそのブロックで定義された変数は、そのブロックの外側に表示されます。」
与えられた例は次のとおりです。
arr = [1, 2, 3]
#bad
for elem in arr do
puts elem
end
# good
arr.each { |elem| puts elem }
調査しましたが、場所に渡したり演算を実行したりできる反復値を提供する for ループをシミュレートする方法についての説明が見つかりません。たとえば、次のように置き換えます。
for i in 0...size do
puts array1[i]
puts array2[size-1 - i]
puts i % 2
end
配列が1つなら簡単ですが、別の目的で現在位置が必要になることがよくあります。私が見逃している簡単な解決策、またはforが必要な状況があります。さらに、人々はforがまったく必要ないかのように話しているのを耳にします。では、これに対する彼らの解決策は何ですか?
改善できますか?また、解決策がある場合、どのような解決策がありますか? ありがとう。