扩展引文中有效的蜜蜂刺痛表达是什么?
rule set_persistents {
select when pageview ".*"
noop();
always {
ent:ecount += 1 from 1;
app:acount += 1 from 1;
}
}
rule test_bee_stings {
select when pageview ".*"
pre {
sum = ent:ecount + app:acount;
content = <<
sum is #{sum}<br/>
sum + 1 is #{sum+1}<br/>
ecount is #{ent:ecount}<br/>
acount is #{app:acount}
>>;
}
notify("Results", content) with sticky = true;
}
当我运行时,我什么也得不到(从未看到通知框)。如果我删除了我获得的ecount和acount行
sum is 2
sum + 1 is 21
什么蜜蜂刺痛表达在扩展报价中有效?对于正常引用的字符串,它有什么不同吗?
答案 0 :(得分:2)
扩展引号中的beestings中使用的变量应该已经具有指定的值而不是表达式。这是因为扩展引号中的beestings在客户端而不是服务器端进行评估。出于前面解释的原因,我也建议不要在beest中使用'sum + 1',即使它目前适用于理解JavaScript的端点。
以下是我将如何写你要做的事情:
ruleset a60x546 {
meta {
name "extended-quotes-beesting"
description <<
extended-quotes-beesting
>>
author "Mike Grace"
logging on
}
rule test_bee_stings {
select when pageview ".*"
pre {
ecount = ent:ecount + 1;
acount = app:acount + 1;
sum = ecount + acount;
sumplus = sum + 1;
content = <<
sum is #{sum}<br/>
sum + 1 is #{sumplus}<br/>
ecount is #{ecount}<br/>
acount is #{acount}
>>;
}
{
notify("Results", content) with sticky = true;
}
always {
ent:ecount += 1 from 1;
app:acount += 1 from 1;
}
}
}
使用bookmarklet在example.com上多次运行app的动作镜头:
*我还建议不要使用先前的规则后置修改应用程序和实体变量,然后在下一个规则中使用它们,以期增加它们。虽然你做了什么工作,但它在语义上是凌乱的,并且可能比我演示的方式更清晰。
**应该带着一粒盐,因为这只是一个疯狂的人的意见。 :)*