BayLang uses C-like syntax.
namespace Main;
class App
{
static int main()
{
print("Hello world");
return 0;
}
}Component example:
<class name="App.Components.IndexPage.IndexPage">
<style>
.index_page{
padding: 5px;
}
</style>
<template>
<div class="index_page">
<h1>Index page</h1>
</div>
</template>
</class>Scalar types:
Objects:
Main classes:
In BayLang it is customary to use variables in snake_case style: lowercase and using underscores. This is needed to visually distinguish variables from methods. Methods on the contrary use CamelCase.
Example:
int count = 0;
string message = "Hello";
bool is_active = false;
Vector items = [];
Map map = {};Template example:
<template>
%set int count = 0;
%set string message = "Hello";
%set bool is_active = false;
%set Vector items = [];
%set Map map = {};
</template>Example:
if (a > b)
{
print ("A is greater than B");
}
else
{
print ("A is less than or equal to B");
}Conditions in templates:
<template>
%if (a > b)
{
<span>A is greater than B</span>
}
%else
{
<span>A is less than or equal to B</span>
}
</template>int sum(Vector items)
{
int result = 0;
for (int i=0; i<items.count(); i++)
{
sum += items.get(i);
}
return result;
}Loop in template:
<template>
<div class="items">
%for (int i=0; i<this.items.count(); i++)
{
<div class="item">{{ this.items.get(i) }}</div>
}
</div>
</template>