gpt4 book ai didi

KRL:如果还有其他问题

转载 作者:行者123 更新时间:2023-12-04 23:09:06 24 4
gpt4 key购买 nike

我正在尝试写一些与 If、else if、else 语句相当的东西。但是,在线编译器给我带来了问题。

我通常在 jquery 中编写我的代码并发出它......但这次我试图用 KRL 方式来做,但我遇到了问题。

当我编写如下内容(在 Pre 和 Post 块之间)时,我收到编译器错误:

如果 (someExpression) 那么 {
//做一些代码
} 别的 {
//做一些代码
}

我知道这是有原因的……但我需要有人向我解释……或者给我指点文档。

最佳答案

使用 KRL,通常最好拥有 单独的规则处理您的问题中描述的“if...then”和“else”情况。那只是因为它是一种规则语言;你必须从通常的程序方式改变你对问题的思考方式。

也就是说,迈克提出的显式事件的建议通常是解决问题的最佳方法。下面是一个例子:

ruleset a163x47 {
meta {
name "If-then-else"
description <<
How to use explicit events to simulate if..then..else behavior in a ruleset.
>>
author "Steve Nay"
logging off
}
dispatch { }
global { }

rule when_true {
select when web pageview ".*"

//Imagine we have an entity variable that tracks
// whether the user is logged in or not
if (ent:logged_in) then {
notify("My app", "You are already logged in");
}

notfired {
//This is the equivalent of an else block; we're sending
// control to another rule.
raise explicit event not_logged_in;
}
}

rule when_false {
select when explicit not_logged_in

notify("My app", "You are not logged in");
}
}

在这个简单的例子中,编写两个相同的规则也很容易,除了一个具有 notif声明,另一个没有。这实现了相同的目的:
if (not ent:logged_in) then {

Kynetx Docs 上有更多关于后奏曲的文档(例如 firednotfired) .我也喜欢 Mike 在 Kynetx App A Day 上写的更广泛的例子。 .

关于KRL:如果还有其他问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5001879/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com