在booggie 2中,如何从规则中执行脚本(用Python编程)并将脚本的返回值传递给规则?
请注意:booggie项目不再存在,但导致了Soley Studio的开发,它涵盖了相同的功能。
答案 0 :(得分:1)
exec
是从规则中执行规则和脚本的命令。接下来是括号,其中包含由规则和脚本组成的序列。
执行规则中的应用程序序列的顺序很严格(参见Is there a fixed order of how the right-hand side of a rule is executed in GrGen.NET?)。 exec
始终是最后执行的语句(当然在return
之前)。因此,我们无法将变量从exec
传递到eval
。因此,exec
中脚本执行所产生的变量必须分配给exec
语句中的节点/边缘属性。为此,我们使用大括号并编写与eval
语句中相同的代码。
在下面的示例中,调用一个脚本,该脚本返回三个给定值( a.value,b.value,c.value )的最高值,并将其存储为节点的属性( d.value )。
exec ((max_value) = getMaxValue(a.value, b.value, c.value) ;>
{
d.value = max_value;
}
);