1/3 + 1/2
といった分数計算を、ruby を使ってターミナル上で実行してみたいと思います。
ruby ワンライナーの簡単な使い方の説明と、実際に適応させるところまで紹介いたします。
[目次]
ruby ワンライナー
# ワンライナーで実行する $ ruby -e 'p "hoge"' "hoge" # 標準入力を受け取る(変数 $_) $ seq 3 | ruby -ne 'puts $_' 1 2 3 # 横並びの入力を配列として受け取る(配列 F) $ echo a b c | ruby -anle 'puts $F' a b c
基本的なオプション
オプション | 意味 |
---|---|
-e | 次の引数に指定された ruby のコードを実行する |
-n | ファイル・標準入力の内容を1行ずつ読む |
-a | 1行の内容を空白区切りとして F という配列に入れる |
-l | awk のように入力からの改行を除去して、出力の際に改行を入れる |
ruby の分数クラスを使う
Ruby の Rational クラスを用いてみようと思います。
今回は分数表記の横に r をつけることで Rational クラスと解釈させます。
# rational クラスを用いる $ ruby -e 'puts 1/3r + 1/2r' 5/6 # 約分もちゃんとされている
標準入力をうまく ruby に渡す
sed を使って、puts 1/3r + 1/2r
という文字列を作ってあげます
$ echo 1/2 + 1/3 | sed -E 's@/.@&r@g;s/^/puts /' | ruby 5/6
おわりに
ruby はずるくない?と思われた方、申し訳ありません。
他の方法を知ってる方はぜひ教えていただけるとありがたいです。