2015-06-22 1048 views
0

MEL中声明它们时是否必须初始化变量,特别是字符串?Maya MEL变量声明和初始化

我知道这是没有必要的初始化字符串数组:

string $buffer[]; 
$buffer[0] = "abc"; 

但是对于字符串和其他变量类型?是否可以接受:

string $str; 
$str = "abc"; 

或者应该总是用双引号来初始化它?

string $str = ""; 
$str = "abc"; 

回答

1

你并不需要填充的变量,用类型声明初始化将其设置为默认值(0的整数,0.0花车,和“”字符串)。一般来说它是在指定的地方当初始变量是有意义的好做法:

string $topCamera = "|top|topShape"; 

但它是很好,当你需要占位符,但没有价值还没有宣布一个空变量;

int $cameraCount; 
// make some cameras here; 
$cameraCount = size(`ls -type camera`); 

在该示例中声明$ cameraCount为0并没有什么坏处,但它只是额外的输入。

插入强制性警告来学习Python而不是在这里

0

作为一般规则,最好是显式声明它被定义当一个变量的类型。这可确保您不依赖于 Maya来自动为您确定变量类型。

Complete Maya Programming 1

使用string $str;