- 71 名前:デフォルトの名無しさん mailto:sage [2010/11/16(火) 21:59:07 ]
- ちょっと読みにくかったですね。すみません。
<Prolog の入力述語について> 項の入力にはread/1が使われてきましたが、これは、 ・ ピリオドで終わらなくてはならない。 ・ シンタックス的に正しい項以外はエラーとなってしまう。 など、実務での使用に適しません。それで改行までの文字列を 入力として受け取る、get_line/1の定義をしておくのが普通です。 get_lineはget_char/1 または get_code/1を改行がくるまで、 繰り返し使うことによって定義します。例えば、 get_line(Line) :- get_char(Char), get_line_2(Char,L), concat_atom(L,Line). get_line_2('\n',[]) :- !. get_line_2(A,[A|R]) :- get_char(B),get_line_2(B,R). get_line_2は引数が違いますから、get_lineでもいいのですが、 ちょっと理由があってこうしました。これについては後に。
|

|