トップページ⇒tech
206コメント59KB

【魔法】リリカル☆Lisp【言語】

■ このスレッドは過去ログ倉庫に格納されています
000112007/07/03(火) 02:17:01
萌え。
Lispに萌え。
リリカル☆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
>>88
上のほうだけど、

 (define (s n) (if (= n 0) 0 (+ n (s (- n 1)))))

が正しいんだと思うんだけど、↑これだと正常に動くね。

 (define (s n) (if (= n 1) 1 (+ n (s (- n 1)))))

にすると、(s 0) を評価したときに無限ループに入ってしまうので、
それが関係してるのかもしれない。
0090882008/03/15(土) 05:35:29
>> 89
ありがとうございます。
なるほど、計算を省略しようとしたのが失敗でしたか。。
0!ってのもあるのかー

ちなみに
(define (s n) (if (<= n 1) 1 (+ n (s (- n 1)))))
だと間違いでした。
(s 0) -> 1
になるからかも。

でもそんなことより女の子の絵がかわいいですね'(* ^ ^ *)
■ このスレッドは過去ログ倉庫に格納されています