命令和过程是以相同的方式执行的。下列示例说明了这一点。
proc float myTime(string $dummyFlag, float $time) {return $time;} currentTime -e 1; myTime -e 1; currentTime "-e" "1"; myTime "-e" "1"; currentTime("-e", 1); myTime("-e", 1);
若要执行命令或过程并获得返回值,可以按下列示例所说明的那样,使用 eval、``或 () 语法。
string $transforms[]; $transforms = eval("ls -type transform"); $transforms = `ls -type transform`; $transforms = ls("-type", "transform");
使用其中每种类型的语法时需要记住的重要事项如下:以下是它们之间的关键差异。阅读这些内容,以便了解要使用其中哪种。
例如,如果尝试执行一个脚本,该脚本首先加载插件,然后立即执行该插件,那么执行插件命令时,该脚本将失败。这是由于 Maya 最初会对脚本求值以检查它所不知道的命令。但是,如果插件命令是使用 eval 语法执行的,那么脚本将不会失败。
print("This object has " + $faces + " faces \n");