0

ルールの LHS にはR_blup

(test (>= ?s2 2))

つまり、 が?s22 以上かどうかをチェックします。?s2は という名前のインスタンス スロットに対応しますs2

残念ながら、エラーが発生します

Function >= expected argument #1 to be of type integer or float

(test ...問題は、引数 #1 を設定s2する前、つまり整数値または浮動小数点値を設定する前にコードが実行されることです。s2別のルールによってトリガーされる python-call 内で整数に設定することになっていますR_blah

エラーは、別のルールに属する別の python-call の途中でトリガーされますR_xyz。この python-call は、 を介してインスタンスを変更しますclips_instance.Slots["slot_name"] = some_value

これは通常どのように処理されますか?あまり好きではない 3 つの解決策があります。

  1. のデフォルト (整数) 値を設定しますs2
  2. 最初(test ...にチェックするように を変更します。nil
  3. 待機する別のチェック/ルールをs2追加nilする

エラーを試す/除外する/渡すことは可能ですか?

4

1 に答える 1