4

我想让一个应用程序变量倒计时而不是倒计时。我将以下内容放在一条规则的后奏中:

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

该变量app:pies将从 10 倒数到 1,但从未达到零。当我用完时,我需要停止分发馅饼。为什么变量永远不会达到零?有一个更好的方法吗?

4

1 回答 1

4

似乎减少 app 变量永远不会导致它低于 1。我不知道为什么会这样。您可以使应用程序变量小于 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.");
  }
}
于 2011-01-15T18:15:47.847 回答