再帰でさっそく躓く。schemeから出直すか。

例によってを参考に、Rubyを勉強し直そうをしていたけど

(2) Fibonacci series, swapping two variables, finding maximum/minimum among a list of numbers.

で再起の考え方にさっそく躓いた。

関数の中で、その関数自身をよび出すという表面的なイメージはわかる。でも、呼び出す関数が一つならいいけど、2つ呼び出したりすると表面的なイメージすら???

def fib(n)
  return 0 if n == 0 
  return 1 if n == 1
  return fib(n - 1) + fib(n - 2)
end

やっぱりプログラムが裏でどうやって動いているのか、ちゃんと理解しないと駄目だな。Lispも勉強したいと思っていたし、Common Lispと迷ったけどschemeを勉強してみようと思う。