社畜系WEBエンジニアの消耗戦

読者です 読者をやめる 読者になる 読者になる

社畜系WEBエンジニアの消耗戦

修羅の国でせっせと働く社畜系WEBエンジニアのブログ

RubyのRationalクラスで簡単に分数の計算をする

Ruby

某なんとかIQでRubyちゃんのMMDモデルがもらえるということで挑戦した問題で有理数の計算があった。

んでその時に知ったんだけど、RubyにはRationalクラスって便利なものがあるらしい。

Rationalクラス

IntegerFloatのようなもので、有理数(分数)を扱うためのクラスがRationalクラスです。簡単に分数の演算をできるスグレモノです。といってもなかなか普段プログラム書いてても分数を扱うことなんて皆無なんですが。

サンプルコード

スペース区切りで入力されたデータの合計を出すコードサンプル。分母ゼロとか入力値のバリデーションはガン無視なのであしからず。

input = $stdin.gets.chomp
num   = input.split(" ")
sum   = 0

num.each do |item|
    sum = sum + Rational(item)
end

puts sum.to_s

最後to_sをかましてるのは、戻り値がオブジェクトだからです(Rubyなんやから当然ですね)。

いやぁ、Rubyはいいですね。