Prolog 写経記 その 83 text/5
(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.
- 作者: ボグダンフィリピッチ,中島誠,伊藤哲郎
- 出版社/メーカー: 海文堂出版
- 発売日: 1990/08
- メディア: 単行本
- 購入: 4人 クリック: 33回
- この商品を含むブログ (68件) を見る
text/5
を写経します.激しくヤケ気味.解説
text(Y, X, LineType, Attr, Text)
は端末の特性を利用して項Text
を出力する.
ふーん.
おらいが使っているのは Windows 版の SWI-Prolog なんですが...
ちゃんと役に立つのでしょうか?
かなり微妙...
(こぴぺ)
モード
text(+, +, +, +, +)
ふむ.
定義
では,こいつの定義を写経しませう.
text(Y, X, normal, Attr, Text) :- cursor(Y, X), line_type(normal), text_attr(Attr), write(Text). text(Y, X, wide, Attr, Text) :- cursor(Y, X), line_type(wide), text_attr(Attr), write(Text). text(Y, X, high, Attr, Text) :- cursor(Y, X), line_type(top), text_attr(Attr), write(Text), Y1 is Y + 1, cursor(Y1, X), line_tye(bottom), write(Text), !.
注意
Y(jump)
とX
はText
を表示する行と列の数である.Attr
はテキストの属性を示す (text_attr/1
参照).LineType
はnormal
,high
あるいはwide
である.high
のText
は行Y
とY + 1
に表示される.
例
では使用例を写経しませう.
display_status_line(Status) :- text(1, 1, normal, reverse, Status).
使ってみませう.
9 ?- display_status_line(hoge). 1f5hoge Yes
ぐはぁっ,予想どうりダメっぽい.
そんなわけで (どんなわけで?),「8 章 画面管理終了」.
激しくつまらなかったなぁ...