wongi引擎中less匹配器的使用方法

How to use the less matcher in the wongi engine

我已经完成了 Wongi Tutorial 并偶然发现了 lessgreater 匹配器。对我来说,如何正确使用它们并不明显。匹配器有两个参数,但我认为应该是三个。我的想法是这样使用它:

engine << ['a', 'price', 4200.31]

price_ok = engine.rule 'price is ok' do
  forall {
    greater :A, 'price', 4100
    less :A, 'price', 4300
  }
end

所以价格在一定范围内就可以了。如何使用匹配器实现此目的?

我自己找到了答案:

engine << ['a', 'price', 4200.31]

price_ok = engine.rule 'price is ok' do
  forall {
    has :_, 'price', :Price
    greater :Price, 4100
    less :Price, 4300
  }
end

您必须将 :Price 谓词设置为 has 以便稍后进行比较。