节点 - #条件#脚本
- 对于 Xmind 对话树,节点内容的首行必须是 “#条件#脚本”,然后第二行的内容就是一段返回 bool 值的 Python 表达式脚本(为了美观书写时也可以分成多行 / 系统会自动拼接成一行 / 脚本中可基于
ctx对信息项进行访问),如:#条件#脚本
...
...ctx["{...}"]...
... - 对于 Python 对话树,chattree.create_node() 的第一个参数必须是 “#条件#脚本”,第二个参数 dict 中的 key 为 “函数”,value 为返回 bool 值的 Python 函数名或 lambda 表达式(函数定义或 lambda 都须带一个
ctx参数并可基于ctx对信息项进行访问),如:def xxxx_func(ctx):
...
ctx["{...}"] = "..."
...
return ... # 返回 bool 值
xxx_node = chattree.create_node("#条件#脚本", {"函数": xxxx_func})xxx_node = chattree.create_node("#条件#脚本", {"函数": lambda ctx : ...ctx["{...}"]...}) - 这段返回 bool 值的 Python 表达式脚本或 Python 函数,可实现复杂逻辑的条件判断
- 脚本或函数执行后结果为 True 时才会执行该 “#条件#脚本” 节点的子孙节点
- 更多参见 “Python 脚本/函数”
- “对话树例子” 中的 “商旅平台_预订机票” 和 “120” 对话树例子中有该节点