繁体   English   中英

将动作分配给变量

[英]Assigning actions to a variable

在回答Aaron 最近的问题时,我想做以下事情:

rule first_rule {
    select when pageview "exampley.com/\?name=(.*)" setting (username)
    pre {
        isjoe = username eq "joe";
        myaction = defaction() {
            thisaction = isjoe => notify("Hello, World", "Hi there, Joe!") | noop();
            thisaction();
        };
    }
    {
        notify("Will it work?", "Methinks you are #{username}");
        myaction();
    }
}

然而,反抗似乎从来没有奏效。 它不喜欢我试图将一个动作分配给一个变量然后返回该变量。

我究竟做错了什么?

你真的很亲近。

在反抗结束之前,您不能采取行动。 您需要创建一个延迟执行,直到正确的时间。

改变:

thisaction = isjoe => notify("Hello, World", "Hi there, Joe!") | noop();

thisaction = isjoe => defaction(){notify("Hello, World", "Hi there, Joe!");} | noop;

请注意添加的缺陷,我从noop中删除了括号。

这个概念类似于 javascript 闭包。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM