Lisp Scheme Part17at TECHLisp Scheme Part17 - 暇つぶし2ch■コピペモード□スレを通常表示□オプションモード□このスレッドのURL■項目テキスト600:デフォルトの名無しさん 07/06/18 16:51:06 >>599 let loopの内側に(let ((nc peek-char)) ... ) でいいでしょ それよりファイル末尾がwhitespaceの列だったりするとws?がeof読もうとして死ぬ 601:デフォルトの名無しさん 07/06/18 17:18:39 そういえばchar=?で#<eof-object>を比較して大丈夫なの? 602:デフォルトの名無しさん 07/06/18 17:39:44 wd? は whitespace でしか終了しないでしょ。 ということは、 "2)" まで wd? で読み取って eof になっているが、 eof に対処するコードが wd? にないのでここで終了できなくなっている。これが原因でしょう。 仮に (+ 1 2 ) のように2と閉じカッコのあいだに空白を入れてみてごらん。それなら終わるから。 あと Gauche を使ってるなら text.parse とか便利なライブラリがあるから、そういうのを使った方がすっきり書けるよ。 ws? みたいなやつは skip-while を使えば一発だし。 603:594 07/06/18 18:32:44 >597 それは気づきませんでした。 ありがとうございます。 >598 すいません、怠けたかっただけなんです… でもそのせいみたいですね。 >602 ありがとうございます。 (+ 1 2 )にしてもエラーで止まってしまいます。 でもそこら辺にもんだいがありそうですね。 もう少しやってみます。 それからこれは自分でパーサを書いてみよう、という試みなので、 ライブラリを使うのは無しです。 でも参考にしてみようと思います。 みなさんありがとうございました。 次ページ最新レス表示レスジャンプ類似スレ一覧スレッドの検索話題のニュースおまかせリストオプションしおりを挟むスレッドに書込スレッドの一覧暇つぶし2ch