私はPrologでライト述部を調べていましたが、時々動作が異なります。私はsome postsを通過しましたが、私はキャッチを見つけることができません。Prologでライト述部を使用中にエラーが発生しました
述語:
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
上記のコードは正常に動作しますが、私は書き込み述語(要素への1つの以上の引数を追加するとき)、エラーが発生します。
述語:
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私は書面のための文書も見ましたが、それほど多くを得ることはできませんでした。 何か助けていただければ幸いです。
ライトは1のアリティを持ちます。それを動作させるには 'write([TempIndex、Element])'と呼び出す必要があります。 – Enigmativity
または 'write(TempIndex = Element)' – CapelliC
いずれにしても、代わりに 'writeq'を真剣に使うことを考えてください! – false