【魔法】リリカル☆Lisp【言語】
■ このスレッドは過去ログ倉庫に格納されています
00011
2007/07/03(火) 02:17:01Lispに萌え。
リリカル☆Lispに萌え。
語れ。
〜魔法言語 リリカル☆Lisp〜
ttp://lyrical.bugyo.tk/download.html
0088デフォルトの名無しさん
2008/03/15(土) 04:06:49フリー版の6章の初めの問題で、
(define (s n) (if (= n 1) 1 (+ n (s (- n 1)))))
ってかくと、スタックオーバーフローとかいうのがでてきて落ちてしまいます。
でも
(define s (lambda (n) (if (= n 0) 0 (+ n (s (- n 1))))))
コレだと大丈夫です。
また、プロンプトでMzSchemeというのでやってみると両方上手くいきます。
でもこういうのは楽しく学べていいですね!
0089デフォルトの名無しさん
2008/03/15(土) 05:17:07上のほうだけど、
(define (s n) (if (= n 0) 0 (+ n (s (- n 1)))))
が正しいんだと思うんだけど、↑これだと正常に動くね。
(define (s n) (if (= n 1) 1 (+ n (s (- n 1)))))
にすると、(s 0) を評価したときに無限ループに入ってしまうので、
それが関係してるのかもしれない。
009088
2008/03/15(土) 05:35:29ありがとうございます。
なるほど、計算を省略しようとしたのが失敗でしたか。。
0!ってのもあるのかー
ちなみに
(define (s n) (if (<= n 1) 1 (+ n (s (- n 1)))))
だと間違いでした。
(s 0) -> 1
になるからかも。
でもそんなことより女の子の絵がかわいいですね'(* ^ ^ *)
■ このスレッドは過去ログ倉庫に格納されています