Rexx - Tính di động

Tính di động là một khía cạnh quan trọng trong bất kỳ ngôn ngữ lập trình nào. Như đã biết, Rexx có sẵn trong nhiều hệ điều hành khác nhau như Windows và Linux. Vì vậy, cần phải đảm bảo rằng khi phát triển một chương trình trên nền tảng Windows, nó có các biện pháp phòng ngừa cần thiết nếu các chương trình tương tự chạy trên nền tảng Linux.

Rexx có khả năng chạy các lệnh cấp hệ thống. Có những lệnh có thể được sử dụng để hiểu hệ điều hành mà nó đang chạy trên đó là gì. Dựa trên kết quả đầu ra, nó có thể thực hiện các hành động thích hợp để xem đâu là các lệnh có thể chạy trên hệ điều hành này.

Thí dụ

Ví dụ sau đây cho thấy cách các hàm phân tích cú pháp được sử dụng để lấy thông tin chi tiết về hệ điều hành mà chương trình đang chạy.

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

Đầu ra sẽ khác nhau tùy thuộc vào hệ điều hành. Dưới đây là một đầu ra mẫu.

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