Gimp2.6で使える関数
- 入出力 -

 一覧にある関数はとりあえず、使えそうな関数です。
現在のところ、確認は、2.6.10で行っています。


入出力
input-port? ( input-port? v )boolean
入力ポートか?

v が入力ポートなら #t、そうで無ければ #f を返します。

output-port? ( output-port? v )boolena
出力ポートか?

v が出力ポートなら #t、そうでなければ #f を返します。

port? ( port? v )boolean
ポートか?

v が入力ポートか、出力ポートならば #t、そうでなければ #f を返します。

close-input-port ( close-input-port ininput-port )
入力ポートを閉じる

入力ポート in を閉じます。

close-output-port ( close-output-port outoutput-port )
出力ポートを閉じる

出力ポート in を閉じます。

current-input-port ( current-input-port )port
カレント入力ポート。

カレント入力ポートを返します。
カレント入力ポートは read などで暗黙に使われるポートです。

current-output-port ( current-output-port )port
カレント出力ポート

カレント出力ポートを返します。
カレント出力ポートは、write などで暗黙に使われるポートです。

eof-object? ( eof-object? v )boolean
EOFか?

v が EOF オブジェクトならば #t、そうでなければ #f 返します。
EOF オブジェクトは、読み込み処理でファイル末に返却されるオブジェクトで、
これでファイル末を知ることができます。

open-input-file ( open-input-file filenamestring )input-port
入力ポートを開く

文字列 filename の名前の既存ファイルを開いてその入力ポートを返します。
本来ある、モードオプション(#:mode { 'binary | 'text })は使えないようです。

open-output-file ( open-output-file filenamestring )戻り値
出力ポートを開く。

文字列 filename の名前のファイルを作成してその出力ポートを返します。

本来ある、モードオプション(#:mode { 'binary | 'text })、フラグ(#:exists{ 'error | 'append | 'update | 'can-update | 'replace | 'must-truncate | 'truncate-replace })は使えないようです。

open-input-output-file ( open-input-output-file filenamestring)port
入出力ポートを開く

"COM"のように入出力を同時に行う特殊なデバイスをアクセスするときに使用します。返されるポートは、output-portであり、かつ、input-portでもあります。

call-with-input-file ( call-with-input-file filenamestring proc )
手続きつき入力ポート処理

文字列 filename のファイルを開き、結果のポートを引数として proc を呼び出します。

proc の引数は、input-port ひとつです。
また、proc から戻ったときにポートは自動的に閉じられます。

>(call-with-input-file "e:\\00temp\\test.txt" (lambda (in) (print (read in)) ) )
"abc"	←これがファイルの中を読んだ(read)したもの
call-with-output-file ( call-with-output-file filenamestring proc )
手続きつき出力ポート処理

文字列 filename のファイルをつくり、結果のポートを引数として proc を呼び出します。

proc の引数は、output-port ひとつです。
また、proc から戻ったときにポートは自動的に閉じられます。

>(call-with-output-file "e:\\00temp\\test.txt" (lambda (out) (write "start" out) (newline out)) )
\t
with-input-from-file ( with-input-from-file filenamestring proc )
手続きつき入力ポート処理

文字列 filename のファイルを開き、結果のポートをカレント入力ポートに割り当ててから proc を呼び出します。

proc の引数はありません。
また、proc から戻ったときにポートは自動的に閉じられます。

>(with-input-from-file "e:\\00temp\\test.txt" (lambda () (print (read)) ) )
"start"		←これが読んだ結果
with-output-to-file ( with-output-to-file filenamestring proc )
手続きつき出力ポート処理

文字列 filename のファイルを作成し、結果のポートをカレント出力ポートに割り当ててから proc を呼び出します。

proc の引数はありません。
また、proc から戻ったときにポートは自動的に閉じられます。

>(with-output-to-file "e:\\00temp\\test.txt" (lambda () (print "newfile") ) )
#t
open-input-string ( open-input-string strstring)input-port
入力ポートを開く

与えられた文字列 str を読み込むように入力ポートを開き、返却する

>(define myport (open-input-string "linear whale"))
myport
>(read myport)
linear
>(read myport)
whale
>(close-input-port myport)
open-output-string ( open-output-string )outport
出力ポートを文字列に結びつける

文字列に結び付けられた出力ポートを返す。
この出力ポートに出した内容を、get-output-string で取り出すはずだが、get-output-stringが定義されていないので、この関数は使いようが無い。

read-char ( read-char [ ininput-port ] )char | eof
文字読み込み

入力ポート in から一文字読み込み、文字を返します。ファイル末ならば、「eof」を返します。
in が省略された場合はカレント入力ポートから読み込みます。

>(define myport (open-input-file "e:\\00temp\\test.txt"))
myport
>(read-char myport)
#\"
>(read-char myport)
#\n
>(read-char myport)
#\e
>(read-char myport)
#\w
>(close-input-port myport)
#t
peek-char ( peek-char [ ininput-port ])char | eof
文字先読み

入力ポート in から1文字先読みして返します。ファイル末ならば、「eof」を返します。
in を省略するとカレント入力ポートから先読みします。read-char と異なり、何度読んでも先へ進みません。

>(define myport (open-input-file "e:\\00temp\\test.txt"))
myport
>(peek-char myport)
#\"	←これがファイル最初の文字
>(peek-char myport)
#\"	←peek-charでは先に進まない
>(read-char myport)
#\"	←read-charで読んでも同じだが先に進む
>(peek-char myport)
#\n	←これがファイル二番目の文字
>(close-input-port myport)
#t
char-ready? ( char-ready? [ ininput-port ] )boolean
読み込み可能か?

入力ポート in が読み込み可能ならば #t、そうでなければ #fを返します。

現状では使用方法が良くわかりませんでした。


write-char ( write-char cchar [ outoutput-port ] )
文字出力

出力ポート out に文字 c を出力します。
out が省略されて場合は、カレント出力ポートに出力します。

newline ( newline [ outoutput-port ] )
改行出力

出力ポート out に改行文字 #\newline を出力します。
out が省略されて場合は、カレント出力ポートに出力します。

read ( read [ ininput-port)
読み込み

入力ポート in から要素をひとつ読み込み返します。
in を省略するとカレント入力から読みます。

write ( write expr [ outoutput-port ] )
出力

出力ポート out に expr を出力します。
out を省略するとカレント出力に出力します。

display ( display expr [ outoutput-port ] )戻り値
出力

出力ポート out に expr を出力します。
out を省略するとカレント出力に出力します。
write と異なり、文字列や文字を出力したとき、"" や #\ をつけないで出力します。

print ( print expr [ outoutput-port ] )
出力

出力ポート out に expr を出力します。
out を省略するとカレント出力に出力します。
write と同様に出力しますが、最後に改行を付加します。


アルゴ算法堂へ戻る