#ファイルIOについて
GaucheのファイルIOはかなり特殊であろう。少なくとも、Python, Ruby, JavaScriptを扱っている人たちにとっては、初手で度肝を抜かれることだろう。
どう違うのかというと、Portを通じてファイルをロードして読み取るということをしている。
#Portとは?
Portとは、
オープンしたファイルを抽象化したもの
となっています。これは、C言語の仕様にも関わってきます。
お気楽 Scheme プログラミング入門では
Gauche の場合、入力ポートは # と表示され、出力ポートは # と表示されます。Gauche はC言語で作成されているので、標準入出力のファイル名はC言語で標準入出力を表す名前になっているようです。
と書かれています。
#では、どうやってjsonを読み取るのか
このiportのファイルを引数にして、このファイルをs式に変えて出力してくれる。
(use rfc.json)
(define (read-line file)
(let ((port (open-input-file)))
(parse-json port)))
こんな風になる。とりあえず、備忘録として書いているので清書は溜まったらするつもり。
#参考文献
お気楽 Scheme プログラミング入門:
http://www.geocities.jp/m_hiroi/func/abcscm07.html
SaitoAtsushi:SaitoAtsushiさんのコメント