読者です 読者をやめる 読者になる 読者になる

問題1.7

SICP scheme
; 平方根を求める手続き
(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らしく書けなくて進まない。