MINERVA superseeded IF/Prolog.
Please see
http://www.ifcomputer.co.jp/MINERVA
for details.
We discontinued to sell IF/Prolog Dec 31. 2003.
For current customers, we continue to provide
professional support for IF/Prolog until Dec 31, 2008.
print(+ストリーム,+フォーマット,[+項,...])
print(+フォーマット,[+項,...])
IF/Prologのprint/2,/3は、Cのprintfと似た述語で、書式付き出力を行います。「フォ−マット」は、書式に関する情報を含むアトムでなければなりません。この書式文字列中の各文字は通常はそのままプリントされ、'%'で始まる書式指定だけが特別に扱われます(詳細については、C言語によるプログラミングについての本を参照して下さい)。
print/2は標準出力に書式付きで出力し、print/3はあらかじめ開いてあるストリ−ムに書式付きで出力します。
すべての書式指定は次のような形をしています。
%<-><長さ><.幅><書式文字>
長さ: 出力フィ−ルドの長さです。文字列は右詰めで出力されます。
-長さ: 出力フィ−ルドの長さです。文字列は左詰めで出力されます。
.幅: 浮動小数点数の精度(小数点以下の桁数)、あるいは出力する文字列の最大文字数です。
書式文字には、以下のものがあります。
% %を出力する
q writeq(項)と同様にPrologの項を出力する
Q displayq(項)と同様にPrologの項を出力する
t write(項)と同様にPrologの項を出力する
T display(項)と同様にPrologの項を出力する
lq lQ
lt lT 項のリスト中の'term(T,VL,P)'という形の項が、write_term(T,VL)あるいはdisplay_term(T,VL)と同様に出力される。
この出力は、優先順位がPであるコンテクストで行われる。
s 「項」はアトムでなければならない
f g e 「項」は数値でなければならない
d o x 「項」は整数でなければならない
c 「項」は整数でなければならない。
指定された文字コ−ドの文字が出力される。
?- print('result: %lq\n', [term((a(X), b), ['X' = X], 1200)]).
result: a(X) , b
X = _299
yes
?- print('result: %lq\n', [term((a(X), b), ['X' = X], 999)]).
result: (a(X) ,b)
X = _299
yes
?- print('*%8.5s*', [string]).
* strin*
yes
?- print('*%-8.5s*', [string]).
*strin *
yes
atom_expected 「ストリ−ム」はアトムでなければならない
stream_not_open 「ストリ−ム」が開かれていない
out_of_range 「ストリ−ム」は、出力用に開かれなければならない
|