異をとなえん |

Rubyでプログラム

2007.12.25 Tue

02:15:27

ひさしぶりにRubyでプログラムをいじった。頭は全然動かない。いやになってしまった。

ひっかかったのは、こういう所。


=begin rate_array sample
[[0.01, 2.0],
[0.21, 2.0],
[0.41, 1.0],
[0.61, 1.0],
[0.81, 1.0],
]
=end

=begin w_array sample
[[0, 2.0],
[0.01, 2.0],
[0.21, 1.0],
[0.41, 1.0],
[0.61, 1.0],
[0.81, @lowest_class_increase_rate],
]
=end


配列rate_arrayをw_arrayに変換する。配列の配列で二番目の数値をずらしていくというものである。なんか、うまい方法がないかと思ったが思いつかず、結局each_indexを使って場合分けして実行するというダサいプログラムになってしまった。


@rate_array.each_index do |i|
case i
when @rate_array.length - 1
@w_array.push([@rate_array[i][0], @lowest_class_increase_rate])
else
@w_array.push([@rate_array[i][0], @rate_array[i + 1][1]])
end
end


でも、自分ではそれなりに面白い結果が出たと思うので、まとめて明日発表を目指そう。

このエントリーをはてなブックマークに追加
LINEで送る

コメント
コメントの投稿
管理者にだけ表示を許可する

トラックバック
トラックバックURLはこちら