再帰関数によるループを Ruby で

Haskell で再帰関数によループを記述しているうちに、Rubyでもできるのではないかと考えた。

$ irb
irb(main):001:0> def loop
irb(main):002:1> cs = gets
irb(main):003:1> puts cs
irb(main):004:1> loop
irb(main):005:1> end
=> nil
irb(main):006:0> loop
hello
hello
world
world

確かに動いた。ループを再帰関数で実現するのは、何もHaskell に特有のものではなく、ループの記述の方式の一つであることが分かる。手続き型言語ではあまり利用していなかった(スタックを消費するため)だけだったのだ。
[PR]
by tnomura9 | 2010-10-31 23:05 | Haskell | Comments(0)
<< IOモナドのまとめ IOモナドのループ処理 >>