Rexx - Portabilité

La portabilité est un aspect important dans tout langage de programmation. Comme on le sait, Rexx est disponible dans une variété de systèmes d'exploitation tels que Windows et Linux. Il faut donc s'assurer que lorsqu'on développe un programme sur la plateforme Windows, on prend les précautions nécessaires si les mêmes programmes s'exécutent sur une plateforme Linux.

Rexx a la capacité d'exécuter des commandes au niveau du système. Il existe des commandes qui peuvent être utilisées pour comprendre quel est le système d'exploitation sur lequel il s'exécute. Sur la base de la sortie, il peut alors prendre les mesures appropriées pour voir quelles sont les commandes qui peuvent être exécutées sur ce système d'exploitation.

Exemple

L'exemple suivant montre comment les fonctions d'analyse sont utilisées pour obtenir les détails du système d'exploitation sur lequel le programme s'exécute.

/* Main program */ 
parse version language level date month year. 
parse source system invocation filename. 
language = translate(language) 

if pos('REGINA',language) = 0 then 
   say 'Error , the default interpreter is not Regina' language 
   say 'The Interpreter version/release date is:' date month year 
   say 'The Language level is: ' level say 'The Operating System is'  

   select 
when system = 'WIN32' then 
   'ver'
when system = 'UNIX' | system = 'LINUX' then 
   'uname -a' 
   otherwise 
   say 'Unknown System:' system 
end 
if rc <> 0 then 
   say 'Error :' rc

La sortie varie en fonction du système d'exploitation. Un exemple de sortie est donné ci-dessous.

The Interpreter version/release date: 5 Apr 2015 
The Language level is:  5.00 
The Operating System is 
Unknown System: WIN64 
Bad return code: RC