標準入出力

上へ


述語名/引数  (print *s)
要約 標準出力に、s式を表示します。
互換性 Win Unix
解説 出力した後に改行されます。(format "/a/n" (*s)) と同じです。

 


述語名/引数  (read *s)
要約 標準入力からs式を一つ読み込みます。
互換性 Win Unix
解説 N/A

例:

[D]>(read *)
-------------------------D execution ---------------------
test
----------------------------------------------------------
succeeded.
(read test)
execution time: 2584 [msec]

 


述語名/引数  (getPass *comment *s)
要約 標準入力からエコーなしで文字列を読み込みます。
互換性 Win Unix
引数 *comment [in] 表示する文字列
*s [out] 読み込んだ文字列
成功/失敗 true  読み込みが成功し読み込んだ文字列と*sのマッチングが成功した。
false 上記以外
解説 このルールはパスワードの入力などに用います。

unixではobsoleteの関数であるgetpassが用いられています。

 


述語名/引数  (printf *format *s)
要約 標準出力に、書式化された文字列を出力します。
互換性 Win Unix
解説 指定できる書式化指定子はCランタイムライブラリのprintfと同じです。

代表的な書式化指定子

%s 文字列, シンボル
%d 整数
%c 文字
%f 浮動小数点
%% %
 

代表的なエスケープシーケンス

\n 改行
\t タブ
\\ \
 

例:

[D]>(printf "整数:%d 文字列:%s 実数:%f 文字:%c\n" (10 "test" 1.2 'a'))
-------------------------D execution ---------------------
整数:10 文字列:test 実数:1.200000 文字:a
----------------------------------------------------------
succeeded.
 

 


述語名/引数  (format *format *s)
要約 標準出力にs式を出力します。
互換性 Win Unix
解説 書式化指定子
/a s式
/d 数字
/s 文字列
/t タブ
// /
/n 改行

formatはs式を表示できる点でprintfより優れています。逆に書式化の多様性はprinfが優れています。

 

 


述語名/引数  (stdin *s)
 (stdin *length *s)
要約 標準入力から*lengthで指定された長さの文字列を取得します。
互換性 Win Unix
引数 *length [in] 取得する文字数
*s [out] 取得した文字列
成功/失敗 true  標準出力から文字列の取得に成功し、かつ、*sとその文字列のマッチングに成功した。
false 上記以外
解説 N/A

 


述語名/引数  (stdin_b *length *s)
要約 標準入力から*lengthで指定された長さのデータ(バイナリ)を取得します。
互換性 Win Unix
引数 *length [in] 取得する文字数
*s [out] 取得したデータ(バイナリ)
成功/失敗 true  標準出力から文字列の取得に成功し、かつ、*sとその文字列のマッチングに成功した。
false 上記以外
解説 取得したデータは1バイトキャラクタの配列です。

この述語は、多様な文字コードでの入力に対応するために用意されました。

文字コードの変換についてはconvertEncoding/4, arrayToString/3も合わせて参照してください。

 

 

 


述語名  (streamFWrite *data)
要約 標準入力へバイナリデータを出力します。
互換性 Win Unix
引数 *data [in] 整数を要素とするリスト、又は、1バイトキャラクタ配列。
成功/失敗 true  出力に成功した。
false 上記以外。
解説 N/A

例:

以下の例では"ABC"をストリームに出力します。

(streamFWrite (65 66 67))

 


述語名/引数  (streamFRead *length *data)
要約 標準入力から*lengthで指定された長さのバイトデータを取得します。
互換性 Win Unix
解説 *dataには整数のリストが返ります。
帰り値を配列として取得したい場合はstdin_b/2を使用してください。