1 В избранное 0 Ответвления 0

OSCHINA-MIRROR/digital-engine-spirit

Присоединиться к Gitlife
Откройте для себя и примите участие в публичных проектах с открытым исходным кодом с участием более 10 миллионов разработчиков. Приватные репозитории также полностью бесплатны :)
Присоединиться бесплатно
Клонировать/Скачать
Внести вклад в разработку кода
Синхронизировать код
Отмена
Подсказка: Поскольку Git не поддерживает пустые директории, создание директории приведёт к созданию пустого файла .keep.
Loading...
README.md

{ public List list = Lists.of("Jessica", "Jessie"); public Map<String, Integer> map = Maps.of("Jessica": 18, "Jessie": 18); }

缺省遍历

Spirit код:

for str in list {
    log.info("The item is {}", str)
}
// Or something like this
for str in list : log.info("The item is {}", str)

Перевод на русский язык:

Для строки в списке { log.info («Элемент —», строка); } Или что-то вроде этого Для строки в списке: log.info («Элемент —», строка)

进阶语法 (10min)

日志输出

Spirit код:

class PeopleLogger {
    func logPeople(People people) {
        print people.toString()
    }
}

Перевод на русский язык: Класс PeopleLogger { Функция logPeople (люди People) { Печать people.toString(); } }

builder режим

Spirit код (рекомендуется использовать @Builder из lombok):

class PeopleFactory {
    func newPeople(String name, Integer age) {
        return People{name = name, age = age}
    }
}

Перевод на русский язык:

Класс PeopleFactory { Функция newPeople (имя строки, возраст целого числа) { Возвращает People {имя = имя, возраст = возраст}; } }

默认 builder режим

Spirit код (в случае, когда тип параметра метода очень ясен, можно использовать символ «$» для замены типа):

class PeopleLogger {
    func logPeople(People people) {
        log.info(people.toString())
    }
    func logPeople(String name, Integer age) {
        logPeople(${name = name, age = age})
    }
}

Перевод на русский язык:

Класс PeopleLogger { Функция logPeople (People people) { Log.info (people.toString ()); } Функция logPeople (строка имени, целое число возраста) { logPeople (новый People.builder().name(имя).age(возраст).build()); } }

高阶语法 (10 min)

JSON конструкция

Spirit код:

jsonMap = {
    "name": "Jessica",
    "age": 18,
    "father": {"Jack": 38},
    "sisters": ["jessie", "jenny"]
}
print JSON.toJSONString(jsonMap)

Перевод на русский язык:

jsonMap = {«имя»: «Джессика», «возраст»: 18, «отец»: {«Джек»: 38}, «сёстры»: [«Джесси», «Дженни»]}; Print JSON.toJSONString (jsonMap);

Макроконструктивный режим

Формат представляет собой obj = $Type{выражение}, который называется семантической единицей макроконструкции. Компилятор будет искать и связывать плагин с типом Type, анализировать выражение в {}, а затем генерировать дополнительный код Java. Например, при использовании tk.mybatis использование режима макроконструкции может создать объект Example для запроса.

Spirit код:

example = $Example{
    class = People.class, 
    name != people.getName()?, 
    age >= people.getAge()!, 
    alias like "%" + people.getName() + "%", 
    order by id desc
}

Перевод на русский язык: Пример = $Пример {класс = Люди.класс, имя != люди.getName ()?, возраст >= люди.getAge ()!, псевдоним, например, «%» + люди.getName () + «%», порядок по идентификатору desc}

Версия

Версия Описание
1.0 Исследование осуществимости компилятора.
2.0 Завершение основного дизайна компилятора и завершение основных функций.
3.0 Реструктуризация основных функций на основе части логики компилятора Java и переход в предварительную версию.

Будущее

Предоставить больше плагинов для Sublime.

Присоединяйтесь ко мне (нам)

Добро пожаловать, чтобы связаться с автором следующими способами. QQ группа (группа 1): 777458862 Электронная почта: digital_engine@163.com

Комментарии ( 0 )

Вы можете оставить комментарий после Вход в систему

Введение

Это лёгкий транспилируемый язык, который может генерировать Java-код. Он направлен на сокращение избыточности Java-кода и обеспечивает плавный опыт разработки. Он может бесшовно интегрироваться с Java-кодом и уменьшает объём кода на 60%. Развернуть Свернуть
Java
GPL-3.0
Отмена

Обновления

Пока нет обновлений

Участники

все

Недавние действия

Загрузить больше
Больше нет результатов для загрузки
1
https://api.gitlife.ru/oschina-mirror/digital-engine-spirit.git
git@api.gitlife.ru:oschina-mirror/digital-engine-spirit.git
oschina-mirror
digital-engine-spirit
digital-engine-spirit
develop