BayLang использует C подобный синтаксис.
namespace Main;
class App
{
static int main()
{
print("Hello world");
return 0;
}
}Пример компонента:
<class name="App.Components.IndexPage.IndexPage">
<style>
.index_page{
padding: 5px;
}
</style>
<template>
<div class="index_page">
<h1>Index page</h1>
</div>
</template>
</class>Скалярные типы:
Объекты:
Основные классы:
В BayLang принято использовать переменные в стиле snake case: в нижнем регистре и использовать подчеркивание. Это нужно, чтобы визуально отличать переменные от методов. Методы наоборот используют CamelCase.
Пример:
int count = 0;
string message = "Hello";
bool is_active = false;
Vector items = [];
Map map = {};Пример для шаблонов:
<template>
%set int count = 0;
%set string message = "Hello";
%set bool is_active = false;
%set Vector items = [];
%set Map map = {};
</template>Пример:
if (a > b)
{
print ("A больше B");
}
else
{
print ("A меньше или равно B");
}Условия в шаблонах:
<template>
%if (a > b)
{
<span>A больше B</span>
}
%else
{
<span>A меньши или равно B</span>
}
</template>int sum(Vector items)
{
int result = 0;
for (int i=0; i<items.count(); i++)
{
sum += items.get(i);
}
return result;
}Цикл в шаблоне:
<template>
<div class="items">
%for (int i=0; i<this.items.count(); i++)
{
<div class="item">{{ this.items.get(i) }}</div>
}
</div>
</template>