在KRL中,我可以将持久变量倒数而不是向上吗?

时间:2011-01-15 15:41:44

标签: krl

我希望app变量倒数而不是up。我将以下内容放在一条规则的后缀中:

fired {
  app:pies -= 1 from 10;
}

变量app:pies将从10减少到1,但它从未达到零。当我用完时,我需要停止发出馅饼。为什么变量不会达到零?有更好的方法吗?

1 个答案:

答案 0 :(得分:4)

似乎递减app变量不会导致它低于1.我不知道为什么会这样。你可以使app变量小于1.例如,这个代码在-2处启动变量并从那里开始递增,这很好用:

app:test += 1 from -2;

减少似乎并不像那样......

我建议将计数调整为1,这样你假装1表示0.在这种情况下你的应用可能看起来像这样:

rule morePies {
  select when web pageview ".*"

  if (app:pies > 1) then {
    notify("You get a pie", "Yay!");
  }

  fired {
    app:pies -= 1 from 11;
  } 
}

rules piesAreGone {
  select when web pageview ".*"

  if (app:pies <= 1) then {
    notify("No pies left", "Sorry.");
  }
}