有人能给我一些关于 jmp 中的glue 和 if 之间的区别的启发吗? 我很困惑。
多谢!
非常感谢杰夫! 您的回答让我对以后如何使用JMP有了清晰的认识!
胶水()和如果()几乎完全不相关,因此很难对它们进行比较。
胶水
老实说,您可以忽略 Glue() 并成为一名非常成功的 JSL 程序员。所以,如果这让您感到困惑,请不要担心。
JSL 是一种函数式语言。 也就是说,JSL 中的所有内容都是函数。 JMP 中的某些函数具有运算符形式。
例如,给变量赋值的函数是分配(a,b) ,它将 b 的值赋给 a。有一种使用 = 符号的运算符形式:
a=b
将表达式组合在一起形成可以计算的函数是 Glue(),如下所示:
Glue(Assign(a,b), Add(c,d))
Glue() 的运算符形式是分号(;),以下与上面等效:
Assign(a,b);
Add(c, d)
如果
在任何编程语言中,您都需要构造来做出决策。 在 JSL 中,与其他语言一样,这些是条件函数。
If() 至少需要三个参数:
我发现通过在公式编辑器中查看它的原型来理解 If() 最容易。

注意那里的第一个“expr”。 这是要测试的条件,也是第一个参数。 第二个参数“then 子句”是条件为真时应计算的表达式。 第三个参数是“else 子句”,即条件不成立时要计算的表达式。
在公式编辑器之外,它看起来像:
If( a == "some value",
Show( "True" ),
Show( "False" )
);
因此,这测试了 a 等于“某个值”的条件,如果是,则显示“True”,如果不是,则显示“False”。
每个子句可以包含多个语句,用分号 (;) 分隔。
我希望这有助于消除一些困惑。
如果您还有其他问题,请告诉我们。
“If()”函数的结构如下:
If( condition,
run this if the condition is true
,
run this if the condition is false
)
一个例子是
If( :sex == "F",
Show("This is a Female")
,
Show("This is a Male")
)
现在,“粘合”角色开始发挥作用,如果在 true 或 false 部分中,需要执行多个语句,则需要将这些语句“粘合”在一起以表明 true 或 false 部分是一个完整的项目。因此,如果需要执行 Show("This is a Female") 和 Gender = "Female" ,则需要将语句“粘合”在一起
If( :sex == "F",
Show("This is a Female");
Gender = "Female"
,
Show("This is a Male")
)