私は問題があります。Google Sketchup のプラグインをコーディングしています。配列値を除外して、フィルター処理された値を別の配列に配置しようとしています。これは次のように行われます。
for z in 0..points.length
points2[z]=points[z][1]
end
ここで、「points」は double 配列です。誰かが私が間違っていることを教えてもらえますか?
これはより良いはずです:
points2 = points.map {|p| p[1]}
あなたが間違っているのは、一度ループすることです。偽のデータの使用:
ar = [1,2,3]
ar2 = []
for z in 0..ar.length
#off by one! Should be one less. But then you should test for empty arrays...
ar2[z] = ar[z]
end
p ar2 #[1, 2, 3, nil]
他の回答は主張map
しており、それらは正しいですが、次のように for ループをエラーが発生しにくいものに変換できます。
for z in ar
ar2 << z
end
あなたは何を間違っていますか?for
私はループのファンです。機能的なスタイルを使用する必要があります。ルビーの方法:
points2 = points.map { |element| element[1] }
それ以外の場合は、 for ループを診断してもらいたい場合は、より良い例を投稿する必要があります。