Render.ru

Что за зверь "Return Value"?

Рейтинг
98
#1
В хелпе Мауа по МЕL, написано, что мол так издревле повелось, что множество МЕL команд может возвращать значение и вы даже можете использовать левую одинарную кавычку или команду eval. Ай, как здорово! Далее повествование продолжается в таком ключе, будто я всегда знал что это такое. Извините, в школе мы такого не проходили, где про это можно прочесть я понятия не имею, а поступать на какой-нибудь ВМК мне как-то уже поздновато, да и времени нет. Так что уж наберитесь терпения объясните что это за хрень такая, а?
Заренее спасибо.
 
#2
Ну впринципе все просто... Действительно, есть команды, которые нужны, для того, чтобы чего-то узнать - это чего-то они "возвращают" при выполнении... В частности например, в какую-нибудь тобой подставленную переменную. Выглядит это так:
$connections = `listRelatives -f $object`;
после выполнения в строчном массиве $connections[] появляются имена всех relatives (родительских и дочерних объектов) для объекта - имя которого содержалось в переменной $object...
Это как раз случай с "одинарной кавычкой"....
С eval-ом примерно также, например:
$curGoalPP = eval("getAttr "+$objName+".goalWeight[0]");
Вот в общих чертах....
Сорри, если примеры не очень понятны... Я их выдрал из своих подручных скриптов...
 
Рейтинг
98
#3
Я не сказал главного - я совсем новичок в MEL, так что многое мне еще не понятно (например, я пока не знаю что означает флаг -f), но более-менее доходит, меня вот что интересует: то есть потом полученную переменную я могу вставить в следующую процедуру и над всеми указанными объектами выполнить какую-либо операцию?
 
#4
Конечно... для этого оно и надо.
Единственное, что в приведенном примере - listRelatives возвращает много значений - массив - поэтому следующие действия производятся над каждым объектом в отдельности - в цикле.
А насчет флагов - у каждой команды они свои и доступно описаны в хелпе по мелу... Опятьже в данном примере -f означает что имена объектов будут полностью (включая имена слоев в которых они содержатся и т.п.)
Если хелпа мало - с целью самообразования можешь попробовать поглядеть готовые скрипты, коих вагон в папке scripts в майевском каталоге...
 
Сверху