2017-03-29 2 views
1

Comment passer une commande avec un paramètre de tableau de chaînes à evalEcho dans MEL? Le code ci-dessous ne fonctionne pas (juste un exemple), $list doit avoir été déclaré pour fonctionner, mais cela est fait dans createList.Commande de passage de script Maya MEL avec le paramètre de tableau de chaînes à evalEcho

global proc string[] returnList(string $list[]) { 
    return $list; 
} 

global proc createList() { 
    string $list[]; 

    $list[0] = "Hello"; 
    $list[1] = "World"; 

    evalEcho "returnList $list"; 
} 

createList(); 

Terminal:

// Error: Line 11.17: "$list" is an undeclared variable. //

Pour une raison quelconque le code suivant fonctionne comme prévu:

global proc string[] returnList(string $list[]) { 
    return $list; 
} 

string $list[]; 

$list[0] = "Hello"; 
$list[1] = "World"; 

evalEcho "returnList $list"; 

Répondre

0

Ce code est censé fonctionner la façon dont vous attendiez:

global proc string[] returnList(string $list[]) { 
    return $list; 
} 

global proc createList() { 
    string $list[]; 
    $list = stringToStringArray("Hello, World!", " "); 

    evalEcho("\n" + "//" + " " + $list[0] + " " + $list[1] + " "); 
} 

createList(); 

enter image description here

1

ou les mettre à l'intérieur .... trop

global proc string[] returnList(string $list[]) { 
    return $list; 
} 

global proc createList() { 
    evalEcho "string $list[]"; 

    evalEcho "$list[0] = \"Hello\""; 
    evalEcho "$list[1] = \"World\""; 

    evalEcho "returnList $list"; 
} 

createList();