Ruby と Latex をいじって、レジスターの色分けセットを作成しました。次のコードブロックがあります。これを実行しようとすると、band1
=1e+02.
band1
=を試してみ(BigDecimal(i) * 100).to_f
ましたが、奇妙な浮動小数点の問題があったのではないかと考えました。整数を整数で乗算すると、整数が作成されます。他にもいろいろ試してみましたがだめでした。
(1..9).each do |i| #Band 1
(0..9).each do |j| #Band 2
(0..11).each do |k| #Band 3
#Band 3 Start
#these are the colors of the resistor bands
b1 = $c_band12[i]
b2 = $c_band12[j]
b3 = $c_band3[k]
b4 = "Gold"
oms = ((i*100) + (j*10)) * $mult[k]
band1 = i*100
band2 = j
band3 = $mult[k]
end
end
end
何が欠けているのかわからない。each_with_index
これらの繰り返しで使用する必要がありますか? 私はこれを試しました:
(1..9).each_with_index {|i, indexi| #Band 1
(0..9).each_with_index {|j, indexj| #Band 2
(0..11).each_with_index {|k, indexk| #Band 3
#Band 3 Start
#these are the colors of the resistor bands
b1 = $c_band12[i]
b2 = $c_band12[j]
b3 = $c_band3[k]
b4 = "Gold"
oms = ((i*100) + (j*10)) * $mult[k]
band1 = indexk * 100
そして私は同じ答えを得ました。1*100
なぜそんなに大きな数に等しいのかわかりません。
編集:追加情報:これがあれば:band1=i*10
計算は正しいです。実際、計算は 99 まで正しいです。