Начало Первый рецепт
Первый рецепт
Что принимает прототип в Anchor сегодня и чем это отличается от черновика будущего языка.
Здесь два разных блока, и их нельзя смешивать. Первый про то, что прототип понимает прямо сейчас. Второй про то, как язык может выглядеть потом.
Что понимает прототип сегодня
Прототип панели Build разбирает очень узкую форму: объявление рецепта с именем в кавычках и зависимости с именами в кавычках. Он проверяет парность скобок и строит схему зависимостей для предпросмотра. Больше он ничего не делает.
Один файл скрипта содержит одно объявление рецепта, поэтому ниже два отдельных файла.
Файл CheckGit:
recipe "CheckGit" {
// Прототип: настоящих действий с Git здесь не выполняется.
}
Файл BuildShops:
recipe "BuildShops" {
dependsOn("CheckGit")
// Остальной текст прототип не выполняет.
}
Что прототип не делает: не вызывает методы, не читает server и client, не пишет файлы, не собирает и не устанавливает. Подсказок, подсветки и проверки типов в редакторе тоже ещё нет.
Как это может выглядеть в будущем (черновик)
// ЧЕРНОВИК. Не исполняется, имена и синтаксис не утверждены.
recipe BuildLcoin {
dependsOn(GenerateShops);
GenerateShops.output
.select(server.shops.lcoin.id)
.replaceIn(client.dat.shopProducts);
}
Отличия от прототипа заметны сразу: имена без кавычек, точка с запятой, вызовы методов у объектов server и client. Какая из этих форм останется, решит владелец после обсуждения.
Что дальше
- Контекст выполнения: откуда берётся выбранный проект.
- Зависимости между рецептами.