Меню

Главная
Случайная статья
Настройки
Gosu
Материал из https://ru.wikipedia.org

Gosu — статически-типизированный язык программирования, который запускается на виртуальной машине Java. Этот язык используется в нескольких проектах с открытым исходным кодом SparkGS и Ragnar DB, и широко используется в страховой отрасли в коммерческих продуктах Guidewire Software. Язык вобрал в себя возможности языков Java, C# и ECMAScript. Уникальной особенностью языка, является открытая система типов, которая позволяет легко обеспечить проверку во время компиляции или в IDE. Также язык позволяет создавать как программы общего назначения (файлы .gst), так и скрипты (.gsp-файлы) и выполнять их непосредственно из источника без предварительной компиляции.

Синтаксис

Gosu имеет C-style синтаксис.

Простейшая программа Hello World на Gosu.
class Main {
  static function main(args: String[]) {
    print("Hello, World!")
    // или проще
    "Hello, World!".print()
  }
}

// второй вариант работает, только если добавлен
enhancement MyStringEnhancement : String {
  function print() { print(this) }
}


Пользуясь методами и лямбдами очень легко работать с контейнерными объектами.
var list = {1, 2, 3}
var result = list.where(\elem -> elem >= 2)
print(result)


Классы Gosu могут иметь функции, поля, свойства и внутренние классы в качестве членов. Номинальное наследование и композиция с помощью делегирования встроены в систему типов, а также структурную типизацию. В дополнение к стандартным типам классов Gosu поддерживает перечисления, интерфейсы, структуры и аннотации.
Downgrade Counter