問題1.7

; 平方根を求める手続き
(define (sqrt x)
  (define (sqrt-iter guess prev-guess y)
     (if (good-enough? guess prev-guess)
         guess
         (sqrt-iter (improve guess y) guess y)))
  (define (good-enough? guess prev-guess)
     (< (abs (- guess prev-guess)) 0.001))
  (define (improve guess y)
     (define (average a b) (/ (+ a b) 2))
     (average guess (/ y guess)))
  (sqrt-iter 1.0 0 x))

最近rubyで書こうとしたらうまく書けない。。。やっぱりパラダイムの違う言語となるとなかなか簡単に頭を切り替えられないですね。

SICPの問題をrubyで移植するのは力になるかなーと思いつつも、元々メソッドが用意されていたりしてなかなかrubyらしく書けなくて進まない。