Alqor документация
Официальная документация — от нуля до первой веб- и десктоп-программы.
1Что такое Alqor?
Alqor — язык программирования, полностью написанный на азербайджанском. Ключевые слова, сообщения об ошибках и документация — на родном языке.
В коде ниже нет ни одного английского слова — əgər вместо if, yaz вместо print. И буквы ə, ı, ş работают полностью.
yaz("Adınızı daxil edin:")
dəyişən ad = oxu()
yaz("Yaşınızı daxil edin:")
dəyişən yaş = oxuTam()
əgər yaş >= 18 onda
yaz("{ad}, siz yetkinsiniz.")
yoxsa
yaz("{ad}, siz hələ yetkin deyilsiniz.")
son
На Alqor можно писать консольные программы, сайты и API, десктоп-приложения и библиотеки — всё на одном языке, одном синтаксисе.
2Первая программа
Создайте файл с именем salam.alq и напишите в нём:
yaz("Salam, dünya!")
Затем запустите:
alqor işlət salam.alq
Salam, dünya!
Чтобы попробовать без создания файла, есть интерактивный режим (REPL):
alqor söhbət
eger, получается əgər. Или клавиши ;e → ə, ;s → ş.3Переменные и типы
dəyişən ad = "Aysel" // mətn
dəyişən yaş = 24 // tam ədəd
dəyişən boy = 1.68 // onluq ədəd
dəyişən tələbədir = doğru // məntiqi
dəyişən heçnə = boş // dəyər yoxdur
sabit Pİ = 3.14159 // dəyişməz
Если хотите указать тип явно:
dəyişən say: tam = 0
dəyişən qiymət: onluq = 9.99
dəyişən adlar: siyahı[mətn] = []
| Тип | Пример |
|---|---|
tam | 42, -7, 1000000 |
onluq | 3.14, -0.5 |
mətn | "Salam" |
məntiq | doğru, yanlış |
siyahı[T] | [1, 2, 3] |
lüğət[A,D] | {"ad": "Aysel"} |
4Условия и выбор
əgər yaş >= 18 onda
yaz("Yetkin")
yoxsa əgər yaş >= 13 onda
yaz("Yeniyetmə")
yoxsa
yaz("Uşaq")
son
Для многих вариантов — seç (выбор):
seç gün
hal "B.e", "Ç.a" → yaz("İş günü")
hal "Ş", "B" → yaz("İstirahət")
hal 1..5 → yaz("Rəqəm")
digər hallarda → yaz("Naməlum")
son
5Циклы
// 1-dən 5-ə qədər
hər i üçün 1..5 içində
yaz("Rəqəm: {i}")
son
// Siyahı üzərində
dəyişən meyvələr = ["alma", "armud", "üzüm"]
hər m üçün meyvələr içində
yaz(m)
son
// Şərtli dövr
dəyişən i = 0
nə qədər ki i < 5
yaz(i)
i += 1
son
// Sayla təkrar
təkrarla 3 dəfə
yaz("Salam")
son
6Функции
funksiya salamla(ad: mətn)
yaz("Salam, {ad}!")
son
funksiya topla(a: tam, b: tam) -> tam
qaytar a + b
son
salamla("Aysel")
yaz(topla(3, 4)) // 7
// Qısa (lambda) funksiya
dəyişən ikiqat = (x) => x * 2
yaz(ikiqat(21)) // 42
7Списки и словари
dəyişən s = [3, 1, 4, 1, 5]
s.əlavə(9) // sona əlavə
yaz(s[0]) // 3
yaz(uzunluq(s)) // 6
yaz(s.sıralanmış()) // [1, 1, 3, 4, 5, 9]
yaz(s.cəm()) // 23
yaz(s.filtr((x) => x > 3)) // [4, 5, 9]
yaz(s.çevir((x) => x * 10)) // [30, 10, 40, 10, 50]
Словарь для пар ключ–значение:
dəyişən yaşlar = {"Aysel": 24, "Rəşad": 31}
yaz(yaşlar["Aysel"]) // 24
yaşlar["Nigar"] = 28
hər ad, yaş üçün yaşlar içində
yaz("{ad}: {yaş}")
son
8Классы
sinif İnsan
xassə ad: mətn
xassə yaş: tam
qurucu(ad: mətn, yaş: tam)
özü.ad = ad
özü.yaş = yaş
son
metod təqdim()
yaz("Mən {özü.ad}, {özü.yaş} yaşım var.")
son
son
dəyişən a = yeni İnsan("Aysel", 24)
a.təqdim()
Наследование и переопределение метода:
sinif Tələbə miras İnsan
xassə universitet: mətn
qurucu(ad: mətn, yaş: tam, universitet: mətn)
üst(ad, yaş)
özü.universitet = universitet
son
əvəz et metod təqdim()
yaz("Mən {özü.ad}, {özü.universitet} tələbəsiyəm.")
son
son
9Обработка ошибок
cəhd et
dəyişən n = tamƏt(oxu("Ədəd: "))
yaz("İki qatı: {n * 2}")
tut (x: ÇevrilməXətası)
yaz("Bu ədəd deyil!")
son
Своя ошибка и проверка условия:
funksiya böl(a: onluq, b: onluq) -> onluq
təmin b != 0 yoxsa
at BölməXətası("Sıfıra bölmək olmaz")
son
qaytar a / b
son
10Веб-сервер
Веб-сервер, работающий всего в пять строк:
gətir veb
dəyişən s = yeni veb.Server()
s.al("/", (sorğu) => veb.mətn("Salam, dünya!"))
s.dinlə(8080)
Параметры маршрута и ответ JSON:
s.al("/salam/:ad", (q) =>
veb.html(<h1>Salam, {q.parametr("ad")}!</h1>))
s.al("/api/vaxt", (q) => veb.json({
"saat": vaxt.indi().saat,
"dəqiqə": vaxt.indi().dəqiqə
}))
11Десктоп-приложение
gətir pəncərə
dəyişən p = yeni pəncərə.Pəncərə("Mənim Proqramım", 800, 600)
p.məzmun(<h1>Salam, dünya!</h1>)
p.göstər()
pəncərə.işlət()
Компонент с состоянием — тот же код работает и в вебе:
gətir vidjet
komponent Sayğac
vəziyyət say: tam = 0
göstər()
qaytar <button klik={() => özü.say += 1}>
Basıldı: {özü.say}</button>
son
son
12Инструменты и команды
| Команда | Что делает |
|---|---|
alqor işlət [fayl] | Запускает программу |
alqor söhbət | Интерактивный режим (REPL) |
alqor yeni <ad> | Создаёт новый проект |
alqor sına | Запускает тесты |
alqor yoxla | Находит ошибки (без запуска) |
alqor format . | Форматирует код |
alqor studio | Alqor Studio IDE |
alqor kömək | Все команды |
Шаблоны новых проектов:
alqor yeni mənim-saytım --şablon veb
alqor yeni mənim-tətbiqim --şablon desktop
alqor yeni mənim-kitabxanam --şablon kitabxana