userモード
基本的にエディタで記述したプログラムを読み込むが,インタプリタを立ち上げた後にかりかりっとプログラムを記述したい.そんなときはuserモードを使います.
| ?- [user].
と入力すればおk(処理系によって違うと思います).
適当な例を入力,C-dで終了.確認.
| ?- [user]. compiling user for byte code... cool(hoge). cool(foo). hot(bar). user compiled, 4 lines read - 380 bytes written, 40419 ms yes | ?- cool(X). X = hoge ? ; X = foo yes
よっしゃよっしゃ
この場合も,同じ述語は連続して入力しなきゃいけないのかな?
確認
| ?- [user]. compiling user for byte code... male(hoge). female(foo). male(bar). user:3 warning: discontiguous predicate male/1 - clause ignored female(hogehoge). user:4 warning: discontiguous predicate female/1 - clause ignored user compiled, 5 lines read - 330 bytes written, 19796 ms | ?- male(X). X = hoge yes
やっぱ怒られたし,やっぱ認識されてない.