Исправления:
- исправлены несколько ошибок интерпретатора;
- добавлена возможность просматривать и прослушивать медиафайлы EV3
Исправления:
Исправления:
Немного улучшений.
Изменения:
Функции с параметрами !!!
Наконец добавлены функции в которые можно передать некоторые параметры и так же получить что-то обратно. Возможно они покажутся кому-то не стандартными. Да, возвращение параметров из функций организованно несколько не стандартно, но это позволяет вернуть более одного значения. Пример можно увидеть ниже
c = 0 MyFirstFunc (10, 20, c) Function MyFirstFunc (in number a, in number b, out number c) c = a + b EndFunction
В данном примере реализована функция сложения двух чисел. Она собственно возвращает сумму этих чисел. В скобках можно увидеть объявление входных и выходных параметров, они обязательно объявляются с использованием ключевых слов in или out (входной, или выходной параметр), а так же указания типа параметра. Есть несколько типов — number, number[], string, string[] это соответственно число, числовой массив, строка, массив строк. Количество входных и выходных параметров не ограничено. Доступна перегрузка функций, т.е. могут быть созданы функции с одинаковыми именами, но разным количеством параметров (тип параметра при этом игнорируется).
Итак, мы готовы представить вашему вниманию новую версию CLEV3R!
Что вас ждет под капотом:
Пп. 6 и 7 актуальны только в случае использования нового ключевого слова «folder», при этом не нужно прописывать полные пути для медиа и текстовых файлов, необходимо указать только имя файла (без расширения для медиа файлов, с расширением для текстовых файлов). Если программа использует новую команду «folder» и была скомпилирована без блока (т.е. хранится на компьютере), то при её загрузке в блок так же будут созданы все необходимые папки и загружены нужные медиа файлы.
Есть один нюанс — созданные в директории программы папки «Media» и «Files» не видны в файл-менеджере самого блока EV3 в силу некоторых ограничений. Это никак не влияет на работу программ, в которых есть обращения к файлам внутри этих папок. Файл-менеджер CLEV3R данные папки/файлы отображаются корректно.
Сайт начал свою работу — это, безусловно, хорошая новость! Мы долго шли к этому и вот наконец 🙂 Впрочем, это не главное. Хотим поделиться планами на ближайшее будущее:
1. Новое ключевое слово folder
Пример команды: folder «WRO2020». Это указание компилятору, что при загрузке файла в блок следует создать папку с именем WRO2020 и поместить туда программу. По аналогии с EV3-G, если есть microSD-карта, то программа будет загружена на неё (либо в память блока, если карты нет). Если данная конструкция отсутствует в коде, то загрузка будет происходить по привычному сценарию — в ту директорию, которая сейчас открыта.
2. Корректный переход по ошибкам компиляции
В данный момент переходы работают следующим образом: в панель системных сообщений выводится ошибка с указанием номера строки и позиции в строке, при двойном клике на сообщении происходит переход на соответствующую строку. Так как программа может быть собрана из нескольких файлов, то возникают неточности. Дело в том, что компилятор работает с конечным, собранным из разных файлов кодом, ошибки отслеживаются именно по нему и номера строк также выдаются согласно кода этого файла. Данный файл создаётся при компиляции и помещается в каталог с программой в подкаталог с префиксом «~», туда же помещается собранная программа с таким же префиксом (её можно открыть в редакторе и по ней отследить ошибки).
Планируется это изменить и выводить ошибки будут с учетом структуры проекта (имя файла с ошибкой, номер строки, номер позиции) — так будет легче их отслеживать.
3. Редактируемая «Справка»
Если вас по каким-либо причинам не устраивает текст или примеры в «Справке» — можно будет их отредактировать на свой вкус. Файлы в формате .xml будут вынесены в отдельную папку.
На сегодня, пожалуй, все.