我想在 SublimeREPL 中使用 Prolog。我在 SublimeREPL 的配置文件中正确设置了解释器(swipl 或 gprolog),一切正常,除了一件事:the start character "?-"
该行永远不会出现,如果得到一个结果,就像"X=1"
我按 Enter 时那样,终端中发生的事情是打印一个点"X=1."
并创建一个"?-".
以 SublimeREPL 开头的新行在 SublimeREPL 中没有点并且新行不以任何内容开头。是否有解决方案具有相同的终端行为?
问问题
520 次
1 回答
0
通过使用以下Main.sublime-menu
文件内容,我在 MacOS X 上运行的 Sublime Text 2 取得了部分成功:
[
{
"id": "tools",
"children":
[{
"caption": "SublimeREPL",
"mnemonic": "r",
"id": "SublimeREPL",
"children":
[
{"command": "repl_open",
"caption": "Prolog",
"id": "repl_prolog",
"mnemonic": "l",
"args": {
"type": "subprocess",
"encoding": "utf8",
"cmd": ["gprolog"],
"cwd": "$file_path",
"external_id": "prolog",
"syntax": "Packages/Logtalk/Logtalk.tmLanguage"
}
}
]
}]
}
]
我得到了 GNU Prolog 启动横幅,我可以键入查询并获得查询结果。但是有一个问题我还没有通过处理新行来解决:当输入;
要求 Prolog 解释器提供下一个证明时,我无法得到最后一个。例如:
GNU Prolog 1.4.4 (64 bits)
Compiled Apr 23 2013, 17:24:33 with /opt/local/bin/gcc-apple-4.2
By Daniel Diaz
Copyright (C) 1999-2013 Daniel Diaz
| ?- member(X, [1,2,3]).
X = 1 ? ;
;
X = 2 ?
yes
| ?-
似乎是处理回声和新行的问题。第一个;
得到回应,但在获得第二个解决方案后我没有机会输入第二;
个。
于 2013-08-31T11:02:43.253 回答