В этом примере вы создали метод get_name
, который взаимодействует с пользователем для получения имени. Этот метод вызывает два других метода: print
и read_line
. Обратите внимание: поскольку для вызова метода не требуются круглые скобки, вызов метода без аргументов выглядит точно так же, как переменная. Это нормально. Кроме того, метод всегда возвращает свое последнее выражение. В этом случае результат get_name
является результатом read_line
.
Это все еще просто, но позже вы сможете начать писать более сложный код. Здесь вы уже можете увидеть некоторое взаимодействие с консолью и использование методов для повторного использования кода. Далее давайте посмотрим, как из этого кода можно сделать собственный исполняемый файл.
Создание исполняемого файла
Когда вам нужно отправить приложение на компьютер конечного пользователя или на рабочий сервер, отправлять исходный код напрямую не идеально. Вместо этого лучший подход — скомпилировать код в собственный двоичный исполняемый файл. Они более производительны, их сложнее перепроектировать и они проще в использовании.
До сих пор вы использовали crystal run hello.cr
для выполнения своих программ. Но у Crystal есть компилятор, и он также должен создавать собственные исполняемые файлы. Это возможно с помощью другой команды; попробуйте crystal build hello.cr
Как вы увидите, это не запустит ваш код. Вместо этого он создаст файл «привет» (без расширения), который является собственным исполняемым файлом для вашего компьютера. Вы можете запустить этот исполняемый файл с помощью ./hello.
Фактически, crystal run hello.cr
работает в основном как сокращение для crystal build hello.cr && ./hello
.
Вы также можете использовать crystal build --release hello.cr
для создания оптимизированного исполняемого файла. Это займет больше времени, но потребует нескольких преобразований кода, чтобы ваша программа работала быстрее. Более подробную информацию о том, как развернуть окончательную версию вашего приложения, можно найти в
Краткое содержание
Crystal обеспечивает очень хорошую производительность, стабильность и удобство использования. Это полноценный язык с растущим сообществом и экосистемой, который сегодня можно использовать в производстве. Crystal является очень инновационным и содержит все компоненты успешного языка программирования.
Знание того, как создавать и запускать программы Crystal, будет иметь основополагающее значение в следующих главах, поскольку вам предстоит опробовать множество примеров кода.
Теперь, когда вы знаете о происхождении Crystal и важных характеристиках языка (а именно, о его выразительности и производительности), давайте продолжим изучать основы программирования в Crystal и поможем вам начать и продуктивно работать с этим языком.
2. Основные семантики и особенности Crystal
В этой главе вы изучите основы программирования Crystal, которые помогут вам быстро освоиться, даже если вы еще не умеете писать ни одной строки кода Crystal. Здесь вы узнаете о вещах, общих для многих других языков программирования, таких как переменные, функции и структуры управления, а также о функциях, характерных для Crystal, таких как система типов и передача блоков. Ожидается, что у вас уже есть базовый опыт работы с каким-либо другим языком программирования.
В этой главе будут рассмотрены следующие основные темы:
• Значения и выражения
• Управление потоком выполнения с помощью условных операторов.
• Изучение системы типов
• Организация кода в методах.
• Контейнеры данных
• Организация кода в файлах.
Технические требования
Для выполнения задач данной главы вам понадобится следующее:
• Рабочая установка Crystal.
• Текстовый редактор, настроенный для использования Crystal.
Вы можете обратиться к