![]() |
NetRexx - Scripting facile |
Le language Rexx a été créé par Mike Colishaw en 1970 pour IBM, et implementé sur l'IBM 370. Il était utilisé comme outil de scripting sur OS/2. NetRexx est une nouvelle version orientée objet, qui a été écrite en 1997, et qui se compile en bytecode Java et tourne sur les machines virtuelles Java (JVM).
Caractéristiques
- Un programme NetRexx peut être soit compilé en
bytecode, ou directement interpreté.
- C'est un langage de script oriented objet.
- Utilise les classes Java dans le code.
- Une méthode se termine par une autre méthode ou la fin
du fichier. "Return" sert seulement à retourner une
valuer.
- Un bloc d'instructions est délimité par "do..end".
- Le construct select case ... when est l'équivalent NetRexx
du switch ... case, mais en plus puissant.
- Un construct général loop avec des options, en
remplace plusieurs d'autres languages.
- String est le type par défaut pour les variables.
- Le corps d'une fonction est terminé par une ligne blanche,
ce qui est peut-être unique dans les langages de programmation.
- Les tableaux de taille fixe et dictionary sont les types
composites.
Pourquoi utiliser NetRexx?
- Conçu pour remplacer Java avec une syntaxe plus simple.
C'est une alternative à Jython (Java Python), mais en moins
puissant.
- Permet de faire des applets, utilise les API de Java.
- Utiliser un même langage pour le scripting et les applications.
- Peu utilisé hors de l'environnement IBM.
Sites
- NetRexx
Le site officiel où le compilateur est téléchargeable.
Exemples
|
Exemples de code
(provenant du manuel de NetRexx). |
-- Une applette.
class HelloApplet extends Applet
method init
resize(200, 40)
method paint(g=Graphics)
g.drawString("Hello world!", 50, 30)
-- The applet is loaded with this html code:
<applet code="HelloApplet.class" width=200 height=40>
</applet>
|
-- Demo: Attente d'une réponse
loop label prompt forever
reply=ask
select
when reply.datatype('n') then say reply**3
when reply='Quit' then leave prompt
otherwise say 'eh?'
end
end prompt
say 'Done.'
|
|

