[Gauche-devel-jp] 変換ポートの問題

Back to archive index

Kimura Fuyuki fuyuk****@nigre*****
2003年 9月 8日 (月) 14:36:07 JST


At Sun, 07 Sep 2003 19:10:08 -1000 (HST),
Shiro Kawai <shiro****@lava*****> wrote:
> 
> > (call-with-output-file "temp"
> >   (lambda (out)
> >     (with-output-to-port (wrap-with-output-conversion out "ISO-2022-JP")
> >       (lambda () (print "文字列")))))
> 
> このコードだと、conversion portがクローズされる前に
> 元のportがクローズされてしまうのでまずいです。

う、with-output-to-portの動作を勘違いしてました。失礼。

>  (with-output-to-file "temp"
>    (lambda () (print "文字列"))
>    :encoding "ISO-2022-JP")
> 
> でまずい事情がありますか?

そもそもやりたかったことは、これです。

(receive (out _) (sys-mkstemp "temp")
  (with-output-to-port (wrap-with-output-conversion out "ISO-2022-JP")
    (lambda () (print "文字列"))))

簡潔に書けないものかといろいろいじっているうちに、妙なところに入っちゃっ
たんですね。

with-output-to-port が :encoding を取ってくれればいいんですが。

-- 
木村 冬樹



Gauche-devel-jp メーリングリストの案内
Back to archive index