Язык программирования Яр

Содержание

Пример кода

/// классы больше похожи на структуры, чем на классы С++
опр класс Па () тело
  Поле1 // поле может содержать произвольный объект
кно // кно - сокращение от 'конец опр'
/// Есть наследование
опр класс Сы (Па) тело
  /// У поля есть тип и значение по умолчанию
  Поле2 -- л-строка = "Значение по умолчанию"
кно
/// 'ПаₒИмя' - это просто идентификатор 
 опр функ ПаₒИмя(Я -- Па)
тело
  л-печать("Я - Па")
  л-печать(Я.Поле1)
кно
опр функ СыₒИмя(Я -- Сы)
тело
   л-печать("Я - Сы")
   л-печать(Я.Поле1)
 пусть П2 = Я.Поле2
 если не П2 == "Значение по умолчанию" то
   л-печать(П2)
 кне // сокращение от 'конец если'
кно
/// Яр выполняет определения по одному, 
/// а идущие подряд несколько функций определяет за одно действие. 
/// Если нужно разбить группу функций, то применяется эта конструкция.
Сохрани-результат-компиляции()
опр функ Тест ()
тело
  /// родись - это аналог new или create
  пусть П = родисьₒПа(Поле1 = "1")
  // есть вывод типов, но есть и явное указание типа
  пусть С -- Сы = родисьₒСы(Поле1 = "2")
  П.Имя()
  С.Имя()
кно
/// Функция Тест вызывается во время выполнения скрипта
Тест()

Реализовано

Что будет сделано

На данный момент исправляются ошибки вывода типов в платформе.

См. также

Ссылки