[表示 : 全て 最新50 1-99 101- 2chのread.cgiへ]
Update time : 05/10 00:58 / Filesize : 38 KB / Number-of Response : 168
[このスレッドの書き込みを削除する]
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧] [類似スレッド一覧]


↑キャッシュ検索、類似スレ動作を修正しました、ご迷惑をお掛けしました

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



1 名前:1 [2007/07/03(火) 02:17:01 ]
萌え。
Lispに萌え。
リリカル☆Lispに萌え。
語れ。

〜魔法言語 リリカル☆Lisp〜
ttp://lyrical.bugyo.tk/download.html

88 名前:デフォルトの名無しさん mailto:sage [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というのでやってみると両方上手くいきます。

でもこういうのは楽しく学べていいですね!

89 名前:デフォルトの名無しさん mailto:sage [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) を評価したときに無限ループに入ってしまうので、
それが関係してるのかもしれない。

90 名前:88 mailto:sage [2008/03/15(土) 05:35:29 ]
>> 89
ありがとうございます。
なるほど、計算を省略しようとしたのが失敗でしたか。。
0!ってのもあるのかー

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

でもそんなことより女の子の絵がかわいいですね'(* ^ ^ *)






[ 続きを読む ] / [ 携帯版 ]

次100 最新50 [ このスレをブックマーク! 携帯に送る ] 2chのread.cgiへ
[+板 最近立ったスレ&熱いスレ一覧 : +板 最近立ったスレ/記者別一覧](*・∀・)<38KB

read.cgi ver5.27 [feat.BBS2 +1.6] / e.0.2 (02/09/03) / eucaly.net products.
担当:undef