ФЭНДОМ



Написание программы на gOrth может вызвать некоторые затруднения, возникающие из-за непривычного синтакиса.

Математические выражения в обратной польской нотацииПравить

Предположим, наша задача - вывести на экран значение, получаемое при обычной арифметической операции "2+2". Но просто так записать этого нельзя. Причина в том, что язык gOrth использует обратную польскую нотацию. Программа, выполняющая условие выше будет выглядеть так:

 :begin 2 2 + . ;

Хорошо. Но что на счет операции посложнее? Как, например, посчитать "2+2*2"?

 :begin 2 2 2 * + . ;

А "(2+2)*2"?

 :begin 2 2 2 + * . ;

Заметим, что скобок в gOrth нет - выполнение операторов идет строго последовательно.

Обработка консольных командПравить

Хотите сделать приложение, обрабатывающее команды? На gOrth это очень просто! Рассмотрим:

 :begin #Начало#
 1 working <- #Запись значения 1 в переменную working#
 doWork wh #Бесконечный цикл doWork#
 ;
 :doWork #Цикл получения команд#
 "Input command:" . #Просьба ввести команду#
 , command <- #Ввод команды#
 command -> "command" -> =s= command if #Проверка на совпадение команды с command и выполнение условия#
 command -> "exit" -> =s= exit if #Выход#
 working -> #Вывод числа из цикла#
 ;
 :command ; #Обработка команды#
 :exit 0 working <- ; #Обработка команды Выхода#