Для использования требуется устанровленный Python
Рекомендуемая версии >= 3.11
Скопируйте данный репозиторий в нужную вам директорию и создайте в ней файл с расширением .gl
git clone https://github.com/keeniGithub/GlowLang.git
Для запуска вы можете использовать интерактивную консоль, запустив файл shell.bat
или shell.py
и выполнять код в ней
Пример:
GlowShell >>> print("hello world!")
hello world!
GlowShell >>>
В этой же консоли вызвать функцию run("filename.gl")
, передава в нее названия к файлу (учитывайте, что нужно указывать полный путь)
Пример:
GlowShell >>> run("example.gl")
>>> 5
120
GlowShell >>>
Для создания перменных используеться ключевое слово var
Доступны типы данных:
- Целые числа
- Числа с плавующей точкой
- Строки
- Массивы (листы)
Так же можно использовать математические операторы
+
Плюс-
Минус*
Умножения/
Деления^
Степень
Пример:
var a = 1
var b = 25.07
var c = "Hello, Glow!"
var d = [1, 2, 3, "Four"]
var e = (2 + 2) * 2
Так же, в языке присутствует уже встроенные числовые значения
null
- 0
false
- 0
true
- 1
pi
- 3.141592653589793
e
- 2.718281828459045
Glow использует конструкцию to then end как в Basic
Пример:
for i = 0 to 5 then
print(i)
end
Вывод:
0
1
2
3
4
Пример:
var i = 0
while i < 5 then
var i = i+1
print(i)
end
Вывод:
1
2
3
4
5
Как в любом языке, тут есть условия if, elif, else
Для них используються операторы сравнения:
>
Больше>=
Больше или равно<
Меньше<=
меньше или равно==
Равенства!=
Неравенства
И логические операторы:
and
Иor
Илиnot
Не
Пример:
var i = 101
if i == 100 then
print("i is 100")
elif i == 101 then
print("i is 101")
else
print("i not 100 and not 101")
end
Вывод:
i is 101
Функции создаються при помощи ключевого слова func
В круглых скобках вы передаете параметры, а аргументы при вызове (как вы любом другом языке)
Пример:
// Пример из example.gl
func factorial(n)
var fctrl = 1
while n > 1 then
var fctrl = fctrl*n
var n = n-1
end
return fctrl
end
var n = input_int()
print(factorial(n))
Вывод:
>>> 5
120
Стрелочные функции в Glow немного схожи с их аналогом в JavaScript или lambda в Python и Ruby, и нужны чтобы не писать много строк кода для простых действий
Пример:
func sum(a, b) -> a+b
print(sum(2, 2))
Вывод:
4
print
- Выводит текст в консольinput
- Принимает значенияinput_int
- Принимает целые числаis_number
- Является ли передаваемый аргумент числомis_string
- Является ли передаваемый аргумент строкойis_list
- Является ли передаваемый аргумент спискомis_function
- Является ли передаваемый аргумент функциейappend
- Добавляет новый элемент в конец спискаpop
- Удаляет элемент по указаному индексуlen
- Считает кол-во элемнтов в спискеclear
илиcls
- Очищает консольrun
- Запускает скрипт
Операторы перехода используются для изменения потока выполнения программы
break
- Прерывает выполнение текущего циклаcontinue
- Завершает текущую итерацию цикла и переходит к следующейreturn
- Возравщает указанное слово
Для коментариев используеться //
// Это коментарий