以下のコードでgosh b.scm
と実行すると
hoge *** IO-CLOSED-ERROR: I/O attempted on closed port: #<iport(closed) ./a.scm 0x2235240> Stack Trace: _______________________________________
というエラーが出ます。
どうしてポートが閉じられた状態になるのでしょうか?
a.scm
lang
1(define (hoge) 2 (print "hoge") 3 (exit-cont) 4 (print "not reach here")) 5 6; 終了地点を保存しておく 7(define exit-cont (undefined)) 8(call/cc (lambda (cont) 9 (set! exit-cont cont)))
b.scm
lang
1(load "./a.scm") 2 3; ↓これをコメント解除するとエラーはでなくなる 4;(call/cc (lambda (cont) 5 ;(set! exit-cont cont))) 6 7(hoge)
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2015/10/18 00:31