Операторы ветвления - операторы выполняющие код в зависимости от каких либо условий. В этой статье будет рассмотрено три оператора: if, mif, case. Все три оператора используются в коде функции.
понедельник, 30 декабря 2019 г.
суббота, 28 декабря 2019 г.
Функции и константы встроенные в язык, синтаксический сахар, приоритеты в правилах и выражениях
Функции встроенные в язык:
select(a, b, c)
a, b, c - выражения. a возвращает тип Bool, если a равен true то вычисляется выражение b и его результат является результатом вызова select, если a равен false то вычисляется выражение c и его результат является результатом вызова select. Особенность select в том, что вычисляется только одно из выражений, если попытаться самому реализовать такую функцию, то при передаче a, b, c все выражения будут вычислены ещё до вызова функции.
select(a, b, c)
a, b, c - выражения. a возвращает тип Bool, если a равен true то вычисляется выражение b и его результат является результатом вызова select, если a равен false то вычисляется выражение c и его результат является результатом вызова select. Особенность select в том, что вычисляется только одно из выражений, если попытаться самому реализовать такую функцию, то при передаче a, b, c все выражения будут вычислены ещё до вызова функции.
Переменные, константы, вызов функций
Переменная - изменяемые данные имеющее имя.
Константа - неизменяемые данные имеющее имя.
Чтобы объявить в коде функции переменную или константу, нужно написать имя переменной или константы, затем ":=" для переменной, ".=" для константы, а затем выражение возвращающее значение, это значение и содержит в себе данные которым будут являться переменной или константой.
Константа - неизменяемые данные имеющее имя.
Чтобы объявить в коде функции переменную или константу, нужно написать имя переменной или константы, затем ":=" для переменной, ".=" для константы, а затем выражение возвращающее значение, это значение и содержит в себе данные которым будут являться переменной или константой.
среда, 25 декабря 2019 г.
Группы и глобальные правила
Группа - совокупность типов данных имеющее схожее поведение. Пример из стандартного модуля:
вторник, 24 декабря 2019 г.
понедельник, 23 декабря 2019 г.
Код ревью
После публикации моей статьи на habr, я начал получать огромное количество писем на разные контакты (не только в ЛС хабра) и даже на те контакты которые я нигде не указывал(но найти их не сложно). Некоторые люди начали использовать cine и писать на нём программы(просто поэкспериментировать и по изучать язык, даже не смотря на то, что туториалов ещё маловато). И вот сегодня я получаю в ЛС хабра сообщение, в котором человек написал на cine обработчик комментариев для своего сайта(тоже ради прикола). Я решил сделать код ревью его кода и написать статью для тех, кто уже начал писать на cine. Я буду приводить код человека который мне написал, а затем напишу что не так и затем код который я написал. Так же я залил на google drive оба проекта.
воскресенье, 22 декабря 2019 г.
Перечисления
Перечисления - способ создания уникальных числовых констант. Отдельную константу я буду называть вариантом перечисления. Каждый созданный вариант имеет тип UInt64, имеет случайное значение отличное от 0, а также не бывает двух вариантов с одинаковым значением. Вспомним про магазин из предыдущей статьи. Предположим раньше магазин торговал только городскими велосипедами, а теперь решил начать торговать ещё шоссейными и горными, мы конечно можем добавить новый член типа имеющий тип [UInt8], но слайсы занимают гораздо больше места, а также медленнее работают чем числа встроенные в язык. Поэтому лучше создать новый член типа с типом UInt64 и создать для него варианты перечисления.
Типы
Тип - описание строения некоторого вида данных используемого программой. Например: мы хотим написать программу для магазина велосипедов, которая будет анализировать: какие велосипеды есть на складе, какие привозят, какие продаются. Для того, чтобы программа работала с велосипедами, необходимо создать тип описывающий строение данных которые хранят информацию о велосипедах в нашей программе. Допустим о велосипедах нам нужна следующая информация: бренд, модель, год выпуска, цена по которой магазин купил велосипед, цена по которой магазин продаёт велосипед, размер скидки, является ли велосипед электробайком. Тип который описывает такой велосипед, выглядит следующим образом:
type Bicycle
brand, model [UInt8]
buyPrice, sellPrice, discount UInt16
eBike Bool
суббота, 21 декабря 2019 г.
Правила синтаксиса cine файлов
Если сейчас вам что либо не понятно, ничего страшного, со временем всё станет на свои места.
Правила в cine файлах:
Правила в cine файлах:
- k и l - строки в cine файле. если l находится ниже чем k и l имеет в начале больше пробелов чем k, то l имеет отношение к k
- если в начале строки есть пробелы, то их количество должно быть кратным 4
- количество пробелов в начале строки должно быть не больше , чем количество пробелов в начале предыдущей строки + 4
- символ табуляции не допускается
- часть строки начинающаяся с "//" и до конца строки - игнорируется
- часть строки начинающаяся с "/*" и до "*/" - игнорируется
- пустая строка - игнорируется
- строка начинающаяся с 0 и более пробелов, а затем "//" - игнорируется
- строка заканчивающаяся "{" считается не завершённой и будет продолжаться до строки начинающаяся с 0 и более пробелов, а затем "}" в конце строки
- если две части строки начинающихся и заканчивающихся символом ' " ' разделены между собой 0 и более пробелов, то последний символ ' " ' первой части, 0 и более пробелов и первый символ ' " ' второй части - игнорируются
Установка cine и fei
Прежде чем начать изучать язык cine, установим компилятор cine и сборщик/установщик пакетов fei. В данный момент, эти инструменты поддерживают лишь 64-разрадные операционные системы семейства Linux. Если у вас нет такой системы, то её можно поставить на виртуальную машину и изучать там. В этой статье не будет инструкции по установки и настройке виртуальной машины, так как их много, какую выбрать и как ею пользоваться, без проблем можно найти в интернете. Но я покажу как установить в виртуальную машину дистрибутив Linux - Ubuntu 19.10, а потом в ней установлю cine и fei.
Изначально я хотел написать всё текстом, но подумав я решил записать видео как это делается.
Изначально я хотел написать всё текстом, но подумав я решил записать видео как это делается.
Подписаться на:
Сообщения (Atom)