1. Быстрый старт¶
← Оглавление · Далее: основы языка →
Требования¶
Для сборки и запуска нужен JDK 21 или новее. Runtime-импорт .java файлов тоже требует JDK, а не только JRE.
Сборка интерпретатора¶
Из корня репозитория:
./build.sh
После успешной сборки появится файл jobs.jar.
Запуск скрипта¶
Создайте файл hello.jobs:
println "Hello, JOBS!"
Запустите его:
java -jar jobs.jar hello.jobs
Можно запускать и готовые примеры из папки examples/:
java -jar jobs.jar examples/01-log-report.jobs
Интерактивный REPL¶
Для быстрых экспериментов можно запустить интерактивный режим:
java -jar jobs.jar -i
REPL читает код построчно и выполняет его сразу после ввода законченного фрагмента. Переменные, use, импорты и функции остаются доступными в следующих вводах:
jobs> $x = 2
jobs> println $x + 3
5
Если строка открывает блок { ... }, ввод продолжается с дополнительным prompt до закрывающей }:
jobs> Say-Hello {
....> println "Hello"
....> }
jobs> Say-Hello()
Hello
В интерактивном терминале можно редактировать текущую область ввода стрелками:
←и→перемещают курсор влево и вправо;↑и↓перемещают курсор между строками многострочного ввода;↑на верхней строке показывает предыдущую команду из истории;↓на нижней строке показывает следующую команду из истории.
Если stdin не является терминалом, например при printf 'println "ok"\n' | java -jar jobs.jar -i, REPL работает в простом построчном режиме без редактора стрелок.
Выйти можно командами :quit, :exit или сочетанием Ctrl-D.
Первый полезный скрипт¶
params {
## Имя пользователя.
$name String = "World"
}
$message = "Hello, $name"
println $message
Запуск с параметром:
java -jar jobs.jar hello.jobs --name Alex
Параметры можно передавать как --name value или --name=value.
Комментарии и документация¶
Обычный комментарий начинается с #:
# Эта строка не выполняется.
println "work"
Документирующий комментарий начинается с ##. Он используется, например, для описания программы и параметров в автоматическом help:
## Печатает приветствие.
params {
## Кого поприветствовать.
$name String = "World"
}
Help вызывается так:
java -jar jobs.jar hello.jobs --help
java -jar jobs.jar hello.jobs -h
Подсветка синтаксиса¶
В репозитории есть Tree-sitter grammar для JOBS в папке tree-sitter-jobs/. Она нужна редакторам, чтобы подсвечивать .jobs файлы.