写入 MEL 代码时,经常会混淆两个外观非常相似、但事实上截然不同的运算符:
如果混淆这两个运算符,则可能会导致很难找到 MEL 脚本中的错误。
假设变量 $a 的值等于 10,且您需要打印消息。如果尝试使用下列代码:
if ($a = 10) { print "equal to 10!"; }
您会发现,无论如何,该脚本始终会打印“equal to 10!”。这是因为该脚本错误地使用了单个等号(即:指定运算符),因此“测试”实际上是将 10 指定给 $a。该指定将对指定的值(在本例中为 10)进行求值。任何非零值均被认为是 true,因此该条件始终为 true!
if ($a == 10) { print "equal to 10!"; }
在某些情况下,在条件中使用指定确实是一种有用的快捷方式,但初学者应始终避免混淆 = 和 ==。