内部に if elsif ステートメントを含む for ループがあります。最初の if で、条件が満たされた場合はそこで停止し、ループの次の繰り返しに進みます。
これは、私がやろうとしていることの非常に単純化されたバージョンです:
array = [1,2,3,4,"x"]
for i in 0..(array.count -1)
if array[i] == "x"
#start next for loop iteration without executing the elsif
elsif array[i] < 3
puts "YAY!"
end
end
私がまさにやろうとしているのは、要素の1つを除くすべてが整数であるが、そのうちの1つが文字列である配列を反復処理することです。文字列要素では、残りのコードをスキップしてループの次の反復に進むためのループ (種類は何でもよい) が必要です。2 番目の if ステートメントは「array_element < 11 条件」を使用するため、これは重要です。そのため、文字列要素でそれを実行すると、「文字列と 11 の比較が失敗しました」というメッセージが表示されます。
だから私は arr[x][3] が欲しいと思います これは私が試したものですが、単一の 8 ではなく 8 8 8 8 が得られます。
arr = [[1,2,3,"4"], [5,6,7,8], [9,10,11,12]]
arr.each{|x|
x.each {|i|
next if x[3].instance_of? String
if x[3] < 12 puts x[3]
end
}
}
わかりましたこれは動作します!! ありがとうiAmRubuuu!!
arr = [1,2,3,"4"], [5,6,7,8], [9,10,11,12], [13,14,15,"16"], [17,18,19,20]]
arr.each_with_index{|x, i|
next if x.last.instance_of? String
if x.last < 21
puts x.last
end
}
出力を教えてください
8
12
20