irbで遊ぶ

昔のBASIC(というプログラミング言語)が取っ付きやすかったのは,行番号を付けずに打ち込むと,そのまま実行してくれたからかもしれません。Rubyにはそのような動作をさせるためのirb(interactive Ruby)というものがあります。ターミナルから irb と打ち込んでください。

irb
irb(main):001:0>

この ...> がirbのプロンプトです。この右に命令を打ち込みます。まずは簡単な計算から。

...> 1+2+3
=> 6

つまり1+2+3を計算すると6になりました。

...> Math::PI
=> 3.141592653589793
...> Math::E
=> 2.718281828459045
...> Math.sin(Math::PI/6)
=> 0.49999999999999994
...> Math.log(Math::E)
=> 1.0
...> Math.log10(1000)
=> 3.0

Rubyは整数の多倍長計算ができます。123を20乗してみます。

...> 123**20
=> 628206215175202159781085149496179361969201

次は階乗の関数 fac(x) を定義して20の階乗を求めたところです。

...> def fac(x)
...>   x > 1 ? x * fac(x-1) : 1
...> end
=> :fac
...> fac(30)
=> 265252859812191058636308480000000

整数の割り算は整数の範囲で答えを求めます。

...> 10/3
=> 3
...> 10.0/3
=> 3.3333333333333335

有理数で計算したければ Rational() を使います。

...> Rational(123,45)
=> 41/15
...> Rational(123*456,789)
=> 18696/263

浮動小数点数の多倍長計算には bigdecimal ライブラリを使います。

...> require 'bigdecimal'
...> BigDecimal("1").div(3, 50)  # 1/3を50桁精度で
=> 0.33333333333333333333333333333333333333333333333333e0

Last modified: