在 Prolog 中使用写谓词时出错
Error while using the write predicate in Prolog
我正在探索 Prolog 中的 write 谓词,但它有时表现不同。我确实经历了 some posts 但我无法发现问题。
谓词:
explore_write_predicate(InputList,Index):-
TempIndex is Index+1,
select(Element,InputList,TempList),
write(TempIndex).
查询:
explore_write_predicate([1,2,3,4],1).
结果:
2
true
上面的代码工作正常,但是当我向 write predicate(Element) 添加一个参数时,它给出了一个错误。
谓词:
explore_write_predicate(InputList,Index):-
TempIndex is Index+1,
select(Element,InputList,TempList),
write(TempIndex,Element).
查询:
explore_write_predicate([1,2,3,4],1).
错误:
No permission to call sandboxed `write(_1132,_1134)'
Reachable from:
explore_write_predicate(A,B)
swish_trace:swish_call(explore_write_predicate([1,2,3,4],1))
'$swish wrapper'(explore_write_predicate([1,2,3,4],1),A)
请帮我看看为什么会出现这种异常。
P.S 我也看到了 write 的文档,但无法从中得到太多。
非常感谢任何帮助。
我正在探索 Prolog 中的 write 谓词,但它有时表现不同。我确实经历了 some posts 但我无法发现问题。
谓词:
explore_write_predicate(InputList,Index):-
TempIndex is Index+1,
select(Element,InputList,TempList),
write(TempIndex).
查询:
explore_write_predicate([1,2,3,4],1).
结果:
2
true
上面的代码工作正常,但是当我向 write predicate(Element) 添加一个参数时,它给出了一个错误。
谓词:
explore_write_predicate(InputList,Index):-
TempIndex is Index+1,
select(Element,InputList,TempList),
write(TempIndex,Element).
查询:
explore_write_predicate([1,2,3,4],1).
错误:
No permission to call sandboxed `write(_1132,_1134)'
Reachable from:
explore_write_predicate(A,B)
swish_trace:swish_call(explore_write_predicate([1,2,3,4],1))
'$swish wrapper'(explore_write_predicate([1,2,3,4],1),A)
请帮我看看为什么会出现这种异常。 P.S 我也看到了 write 的文档,但无法从中得到太多。 非常感谢任何帮助。