从标准输入中读取 B-Prolog 中的一个数字或几个以空格分隔的数字(不跟句号)的最简单方法是什么?
例如,对于 EcliPse,我编写了这些简单的谓词(我不需要错误处理):
read_number(N) :-
read_token(Token, _),
(
Token == -
->
read_token(Nabs, _),
N is -1 * Nabs
;
N is Token
).
read_numbers_list(Ns) :-
read_string(end_of_line, _, String),
split_string(String, " ", "", Ss),
( foreach(S, Ss), foreach(N, Ns) do
number_string(N, S) ).
但是为 B-Prolog 写这样的东西对我来说看起来过于复杂 - 没有 read_token 或 split_string ......
这种平凡的任务有简单的方法吗?也许我忽略了一些标准谓词?