Интернет магазин китайских планшетных компьютеров



Компьютеры - REXX

24 мая 2011


Оглавление:
1. REXX
2. Пример программы



REXX или Rexx — интерпретируемый язык программирования, разработанный фирмой IBM. Существуют как коммерческие, так и свободно распространяемые реализации данного языка.

Пик своего распространения REXX получил в середине 1990-х вместе с популярностью операционной системы OS/2. Это связано с тем, что интерпретатор REXX’а мог вызываться как из командного процессора, который в результате мог исполнять скрипты, состоящие из операторов командной строки, так и из любого приложения.

В том случае, когда интерпретатор REXX вызывается из cmd.exe он исполняет командный файл. Если он вызывается из почтового редактора FleetStreet — он исполняет командный файл FleetStreet. Сам по себе REXX не привязан к конкретной части системы и может использоваться любой программой как «свой» язык, при этом каждая из использующих REXX программ может добавить к нему свои функции и операторы, которые будут доступны только при работе REXX’а в контексте этой программы. Например, электронная таблица mesa/2 добавляют в REXX команду, которая позволяет считывать и записывать содержимое ячеек таблиц и т. п.

С тех пор язык получил развитие далеко за пределами OS/2, но традиционно его свойствами остались удобный доступ к командам операционной системы, мощные операции со строками, упрощённая обработка ошибок и встроенный отладчик.

Изначально REXX не был обьектно-ориентированным, хотя в настоящее время существуют и такие версии языка. Синтаксически язык слегка напоминает упрощённый ПЛ/1. Переменные в REXX не типизированы и не требуют декларации.

Из особенностей языка следует отметить мощный и удобный оператор PARSE для разбора строк. Его синтаксис:

    parse ''исходник шаблон''

позволяет писать легко читаемые конструкции вроде

    MyVar = "Вася Иванов"
    parse var MyVar FirstName LastName
    say "Имя:" FirstName
    say "Фамилия:" LastName

или, к примеру, если имя написано через запятую, можно указать это в шаблоне

    MyVar = "Иванов, Вася"
    parse var MyVar LastName "," FirstName
    say "Имя:" FirstName
    say "Фамилия:" LastName

а также можно пользоваться прямой индексацией столбцов:

    MyVar = " 123—1234"
    parse var MyVar 2 AreaCode 5 7 SubNumber
    say "Код города:" AreaCode
    say "Телефон:" SubNumber

выведет следующие строки на экран:

    Код города: 202
    Телефон: 123—1234


Просмотров: 865


<<< REPL