0

ワークブックの 1 つから predicate@master を更新する設計が必要な要件に取り組んでいます。そのため、ユーザー アクションに対して呼び出される非アクティブ ブロックに以下のロジックを追加しました。

+predicate2@master[x,y] = フラグ <- predicate1@prev[x,y] = フラグ,フラグ = true.

マスター コピーの predicate2 にコピーされたら、predicate1 からファクトを削除する必要があることに注意してください。

このロジックをコンパイルすると、以下のエラーが発生します。

ブロック block_4SZVZ9DO: 24 行目: エラー: 'predicate2@master' のステージ 'master' は、実行ステージ 'INITIAL' より前です。過去のステージのファクトの導出は許可されていません (コード: STAGE_PAST) +predicate2@master[x,y] = フラグ

ワークブックからマスターの述語を更新する方法を教えてください。

ありがとう、センシルベル

4

1 に答える 1

1

問題は、predicate@branch を更新するロジックをそのブランチで実行する必要があることです。ロジックの場合、マスターで実行する必要があります。マスターではなくブックでロジックを実行しているようですね。

しかし、より大きな問題は、このロジックを記述する必要があるかどうかです。ワークブックからマスターを更新するためのメカニズムは、ワークブック フレームワークによって提供される「commit」サービス コールによるものです。使ってみましたか?それとも、どういうわけかあなたのニーズを満たしていませんか?

于 2016-06-09T19:55:29.127 に答える