Render.ru

string + string

#1
$x=`ls -sl`;
setAttr ($x + "numberV") 10;
// Error: setAttr ($x + "numberV") 10; //
// Error: Line 2.24: Illegal operation "+" on data of type string[]. //

Расскажите, чего не так?
 
#2
string $x[]=`ls -sl`; // returns string array string[]
// ну и если, действительно, node.numberV существут....
setAttr ($x[0] + ".numberV") 10;
 
#3
Спасибо, я правда сам уже разобрался, что это массив. Наверное через задницу написал, но вроде заработало.
Вот мой вариант:

$x = `ls -sl`;
string $y = `print $x`;
string $z = ($y+".numberU");
setAttr $z 10;
 
#5
Но наСильник с 11ти летним стажем ;) могу порекомендовать написать так:

string $x = string( "yourObject" );
setAttr ($x + ".translateX") 10;

А еще можно так:
setAttr (string( "yourObject" ) + string(".translateX") ) 13;

P.S. Супер ! Первый раз вижу этот скрипт язык, и он мне нравится ;))
 
#6
PS wrote:
>
> А еще можно так:
> setAttr (string( "yourObject" ) + string(".translateX") ) 13;
>
> P.S. Супер ! Первый раз вижу этот скрипт язык, и он мне
> нравится ;))

По этой строчке точно видно, что этот язык видится Вами впервые, а вот в наСильника с 11-летним стажем как-то сразу верится с трудом.... Хотя, может быть Вы предпочитаете выражения типа "масло масляное", но за 11 то лет элементарным основам стиля программирования можно было бы и научиться...
 
#7
Спасибо за критику. Спецально внимательно пригляделся к топику. Оказывается не обратил внимание в какую сторону кавычки поставленны.
Посмотрел в скрит едиторе - а это исполнение комманды. Задача оказывается несколько другая чем я понял вначале.

Тогда так:

string $s[];
string $o;
$s = `ls -l`;
for( $o in $s )
print( $o + "---" );

И вместо print( $o + "---" ); - надо проверить на тип объекта и произвести с ним действие.

P.S. И все таки MEL мне нравится :)
 
#8
Бальзам на душу...Не часто критику воспринимают конструктивно...проверить тип объекта можно, если мне не изменяет память прямо в ls или есть еще полезная команда для фильтрации селекции filterExpand, но, правда, она тут может и "не прописать"...
 
#10
Трудное детство...Голод, разруха и т.п. Вообщем, дитя войны....

По существу. Строчка будет работать, только в случае одной единственной отселектированной трансформ ноды.... Отселектируйте две и получите что-то типа
// Error: line 1: Not enough data was provided. The last 0 items will be skipped. //

Термин "защита от дурака" известен ли взращенным на ассемблере? Особенно актуальна защита самого ассемблера....
 
#11
Да ты добрейший просто зануда - не оценить тебе красоты аналогии. Ну ясень пень будет ошибка - в "аккумулятор" массив не засунуть, и сие ограничение токмо усиливает анолохию.
;-)

Мдя... не в духе нонче добрейший заходил, не в духе...
 
#12
Красота - это понятие метафизическое, абстрактное. Говаривал, бывалочи, наш препод, ставя незачет за красиво неправильно решенные задачи...
Програмистский закон говорит о том, что любая программа, состоящая более чем из десяти строчек заведомо содержит ошибку...А на практике код-то может быть и красивым, да только условия корректной его работы могут оказаться такими, что....А занудство в программировании это скорее плюс, чем минус...Зунудная, но работающая программа существенно интереснее для пользователя, чем красивая, но не работающая...Сами же кричим "Баг майа! Программисты в A|W неучи! альфа канал в векторном рендере забыли"
А мы оказывается, такие же как они (и это еще оптимистическая точка зрения)...
 
Сверху