Каждый пример в этой главе (а также в остальной части книги) можно запустить, создав текстовый файл с расширением crystal file.cr
в терминальном приложении. Вывод или любые ошибки будут показаны на экране.
Вы можете получить весь исходный код, использованный в этой главе, на GitHub книги по адресу https://github.com/PacktPublishing/Crystal-Programming/tree/main/Chapter02.
Значения и выражения
Программирование — это искусство преобразования и перемещения данных. Мы хотим получать информацию, возможно, от пользователя, печатающего на клавиатуре, от датчика Интернета вещей на крыше вашего дома или даже от входящего сетевого запроса, отправленного на ваш сервер. Затем мы хотим интерпретировать и понять эту информацию, представляя ее в нашей программе структурированным образом. Наконец, мы хотим обработать и преобразовать его, применяя алгоритмы и взаимодействуя с внешними источниками (например, запрос к базе данных или создание локального файла). Практически все компьютерные программы следуют этой структуре, и важно понимать, что все дело в данных.
Crystal имеет множество примитивных типов данных, используемых для выражения значений. Например, вы можете записывать целые числа, используя цифры, например 34. Вы также можете хранить данные в переменных. Они действуют как именованные контейнеры для хранения значений и могут изменяться в любое время. Для этого просто напишите имя переменной, затем символ равенства и значение, которое вы хотите сохранить. Вот пример программы Crystal:
score = 38
distance = 104
score = 41
p score
Вы можете выполнить эту программу Crystal, записав ее в файл и используя crystal file.cr
на вашем терминале. Если вы это сделаете, вы увидите 41
на экране. Видите эту последнюю строчку? Он использует метод p
для отображения значения переменной на экране.
Если вы работаете с другими языками, такими как Java, C#, Go или C, обратите внимание, что это полноценная программа. В Crystal вам не нужно создавать основную функцию, объявлять переменные или указывать типы. Вместо этого при создании новой переменной и изменении ее значения используется тот же синтаксис.
В одной строке можно присвоить несколько значений нескольким переменным, указав их через запятую. Множественное присвоение обычно используется для замены значений двух переменных. Посмотрите это, например:
# Назначаем две переменные одновременно
emma, josh = 19, 16
# Это то же самое, в две строки
emma = 19
josh = 16
# Теперь поменяем их значения emma, josh = josh, emma
p emma # => 16
p josh # => 19
Этот пример начинается со строки комментария. Комментарии предназначены для добавления пояснений или дополнительных деталей в исходный код и всегда начинаются с символа #
. Затем у нас есть множественное присваивание, создающее переменные с именами emma
и josh
со значениями 19
и 16
соответственно. Это точно так же, как если бы переменные создавались по одной в две строки. Затем используется другое множественное присвоение для обмена значениями двух переменных, одновременно присваивая emma
значение переменной josh
и josh
значения переменной emma
.
Имена переменных всегда пишутся строчными буквами в соответствии с соглашением о разделении слов символом подчеркивания (известным как
Если используемые вами значения не изменятся, вы можете использовать константы вместо переменных. Они должны начинаться с заглавной буквы и обычно пишутся заглавными буквами, слова разделяются подчеркиванием и не могут быть изменены позже. Посмотрите это, например:
FEET = 0.3048 # Метры
INCHES = 0.0254 # Метры
my_height = 6 * FEET + 2 * INCHES # 1.87960 метров
FEET = 20 # Ошибка: константа FEET уже инициализирована.
Этот код показывает определение двух констант: ФУТОВ и ДЮЙМОВ. В отличие от переменных, им нельзя впоследствии присвоить другое значение. К константам можно получить доступ и использовать их в выражениях вместо их значений. Они полезны при присвоении имен специальным или повторяющимся значениям. Они могут хранить любые данные, а не только числа.
Теперь давайте рассмотрим некоторые из наиболее распространенных примитивных типов данных.
Числа (Numbers)
Как и в других языках, числа бывают разных видов; вот таблица с их описанием: