Prolog 写経記 その 76 charset/1

(ほぼ) 毎日淡々と Prolog を写経します.元ネタはこちら.

Prologユーティリティライブラリ

Prologユーティリティライブラリ

続けて charset/1 を写経します.
あまりにつまらないのが並んでいるのでさっさとやっちゃいましょう.

解説

charset(Chars) は画面の文字セットを選択する.Chars はあらかじめ定義された United Kingdom,US ASCII,グラフィック,代用文字,あるいは大用具ラミックセットを示す,ukasciigraphaltch あるいは altgr のいずれかである.

ふーん.
おらいが使っているのは Windows 版の SWI-Prolog なんですが...
ちゃんと役に立つのでしょうか?
かなり微妙...

モード

charset(+)

ふむ.

定義

では,こいつの定義を写経しませう.

charset(Chars) :-
	charset_code(Chars, Code),
	escape(Code).

charset_code(uk, '(A') :- !.
charset_code(ascii, '(B') :- !.
charset_code(graph, '(0') :- !.
charset_code(altch, '(1') :- !.
charset_code(altgr, '(2') :- !.

つまんね.

注記

文字セットの選択は,端末に送られる文字コードの解釈に必要である.通常テキスト用の文字セット (uk あるいは ascii) は,線や方形を描くのに適したグラフィック文字セット (graph) と交換される.
文字セットが選択できる能力は,使用しているハードウェアに大きく依存している.端末の特性についてはマニュアルを見ること.

らじゃあ.
っていうか,マニュアル? SWI-Prolog のマニュアルを見ればいいのか?
あんまり見る気がしないなぁ...

では使用例を写経しませう.
...
と思ったのだけれど,使用例がない...
とりあえず試してみますか.

22 ?- charset(ascii).
B

Yes
23 ?- charset(uk).
A

Yes

US ASCII と UK で何が変わるのか知らないのですが,A とか B とか出力されているところから考えると,効いてなさそう.
とりあえず,\\ のままだなぁ.って,これはフォントによるのか.
まぁ,どうでもいいや.