Rexx - Portabilidade

A portabilidade é um aspecto importante em qualquer linguagem de programação. Como se sabe, Rexx está disponível em uma variedade de sistemas operacionais como Windows e Linux. Portanto, é necessário garantir que, ao desenvolver um programa na plataforma Windows, sejam tomados os cuidados necessários caso o mesmo programa seja executado na plataforma Linux.

Rexx tem a capacidade de executar comandos de nível de sistema. Existem comandos que podem ser usados ​​para entender qual é o sistema operacional no qual está sendo executado. Com base na saída, ele pode executar as ações apropriadas para ver quais são os comandos que podem ser executados neste sistema operacional.

Exemplo

O exemplo a seguir mostra como as funções de análise são usadas para obter os detalhes do sistema operacional no qual o programa está sendo executado.

/* 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

A saída irá variar dependendo do sistema operacional. Um exemplo de saída é fornecido abaixo.

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