- Mel (langage)
-
Pour les articles homonymes, voir Mel.
MEL Apparu en Février 1998 Auteur Alias Systems Corporation Paradigme impérative, procédurale Typage statique, faible Influencé par C, UNIX Shell Scipting Implémentations Maya Mel, MEL ou Maya Embeded Language (langage incorporé de Maya) est le langage de programmation du logiciel 3D Maya. Il s'agit d'un langage interprété. Maya est caractérisé par sa possibilité d'être entièrement exploitable via des lignes de codes sachant qu'une grande partie du logiciel (dont son interface) est programmée en Mel, le reste en C++. On peut utiliser le Mel dans plusieurs environnements, par exemple, il est possible d'écrire des expressions qui agiront à chaque nouvelle image dans le temps ou d'associer un Mel à une collision. De façon générale, il permet d'avoir accès à la création d'interfaces (création de fenêtres, de boutons...) et à toutes les fonctions du logiciel, et c'est pour cette raison qu'il est un outil indispensable pour les utilisateurs de Maya.
Syntaxe et concepts
La syntaxe du Mel se caractérise entre autres par l'utilisation du signe
$
au début de chaque variables comme en PHP. Elle découle de la syntaxe du UNIX shell scripting : une commande en Mel est suivie deflags
, c’est-à-dire de données auxquelles on attribue une valeur. Parmi cesflags
on a souvent-query
, pour appeler une valeur d'une donnée, ou-edit
, pour éditer une valeur d'une donnée. Par exemple :polyCube -height 1.0 -width 2.0 -depth 3.0
Cette commande crée un cube polygonal, ou plutôt un prisme droit, Cube de hauteur 1.0, de largeur 2.0 et de profondeur 3.0.
polyCube -edit -height 1.5 pCube1
Celle-ci modifie la hauteur du cube appelé pCube1, il n'y a pas de $ devant pCube1 car il ne s'agit pas d'une variable mais du nom de l'objet.
Le Mel ne respecte que le concept de programmation procédurale, sachant que le terme de procédure (le mot clé est
proc
) est employé à tort dans ce langage puisqu'il est possible de renvoyer une valeur, ce qui en principe ne l'est pas avec une procédure mais avec une fonction. Existe également la possibilité d'utiliser les fonctions Mel dans un environnement Python pour étendre les possibilité de ce langage au paradigme de programmation orientée objet et de programmation modulaire. Mel propose toutes les structures de contrôle les plus utilisées comme les conditions (if
etelse
), les boucles (for
,while
) et les branchements (switch ... case
).
Wikimedia Foundation. 2010.