Просмотров-1274
0

Простые типы данных языка программирования Crystal

Язык программирования Crystal

Онлайн среда выполнения кода языка программирования Crystal

Изучение любого языка программирования начинается с изучения простых типов данных. В данной статье показано, как можно изучать простые типы данных нового языка программирования Crystal в среде программирования. А серия следующих статей будет посвящена итерационно-инкрементному методу изучения нового языка программирования Crystal

Примечание. Язык программирования Crystal появился в 2014 году. Это объектно-ориентированный язык программирования общего назначения, спроектированный и разработанный Арье Боренцвейгом, Хуаном Вайнерманом и Брайаном Кардиффом. Он обладает Ruby-подобным синтаксисом, но, в отличие от Ruby, является компилируемым и статически типизированным языком, использующим вывод типов. Распространяется как свободное и открытое программное обеспечение под лицензией Apache версии 2.0.

Примечание. Для более эффективного усвоения изучаемого материала познакомьтесь с методикой и стилем познания.

В соответствие с указанным выше итерационно-инкрементным подходом изучение типов данных языка программирования Crystal осуществляется в несколько отдельных этапов. На первом этапе будем изучать простые (стандартные) типы данных. Об этом и пойдет речь далее в этой статье.

Изучение языка программирования Crystal целесообразно осуществлять в онлайн среды программирования. Переходите по этой ссылке.

Среда выполнения кода, как показано на рисунке ниже, имеет поле редактора, где записывается исходный код, кнопку “Скомпилировать и Выполнить”  и поле вывода результатов, которое появляется  после нажатия кнопки.

Изучение типов данных в среде программирования в режиме онлайн

Для сохранения написанного ранее кода необходимо: скопировать код и загрузить в файл в папку Загрузки ПК, сделав щелчок левой клавишей мышки по кнопке  Download.

Для дальнейшего использования сохраненного кода необходимо:

  • -Открыть файл в блокноте и скопировать в буфер;
  • -Скопировать из буфера в редактор среды Crystal.

В соответствие с методикой итерационного и инкрементного подхода изучения языков программирования на первом цикле обучения методам процедурного программирования начинать  надо с изучения простых типов данных. Простые типы данных нового языка программирования Crystal, как и любого другого языка лежат в основе его использования.

К простым типам данных языка программирования Crystal относятся: целочисленные, вещественные, символьные и строковые типы.

Как изучать целочисленные типы данных?

Для обработки целых чисел применяются целочисленные простые типы данных, которые  в языке Crystal имеют две разновидности — знаковые  Int8(16, 32,64) и беззнаковые UInt8(16, 32, 64). Их можно записывать с суффиксом типа, отделяемом от числа знаком подчеркивания, например, 123_i16 это тип  Int16,  и без суффикса, тогда тип по умолчанию выбирается из наиболее подходящих к числу типов:  Int32,  Int64 и  UInt64.

Целочисленные типы данных в Crystal можно представлять в двоичной форме, начиная с символов «0b»: 0b1100(число 12), в восьмеричной форме, начиная с символов «0o»: 0o123 (число 83) и в шестнадцатеричной форме, начиная с символов «0x»: 0x012D (число 62)

Для закрепления данного материала необходимо выполнить ряд действий с целыми числами, как в области допустимых значений, так и за ее пределами. Допустимыми операторами для целых чисел являются: + ; — ; * ; /. Ниже на рисунке показаны несколько примеров действий с целочисленными типами данных.

Изучение целочисленных типов языка программирования Crystal

Хорошим способом усвоения синтаксиса и семантики языка программирования является анализ ошибок выполнения кода (…и опыт сын ошибок трудных…). На рисунке ниже показаны примеры некоторых ошибок, связанных с некорректным использованием типов данных.

Ошибки с целыми типами языка программирования Crystal

Сообщения об ошибках приводится на английском языке. При необходимости их можно перевести с помощью онлайн-переводчика.

Как изучать типы вещественных чисел?

Для работы с дробными числами используются простые вещественные типы данных. В языке Crystal есть два вещественного типа с плавающей точкой: Float32 и Float64, которые соответствуют типам, определяемым IEEE:binary32 и binary64.

Запись вещественного числа также может  с суффиксом типа после символа подчеркивания и без суффикса, тип по умолчанию Float64. Например, 121.0_f32( Float32), 125.0 (Float64).

Для удобства чтения чисел их следует записывать, разделяя группы цифр с помощью символа подчеркивания. Например, запись числа 1_000_000 читается проще, чим запись 1000000

Для закрепления данного материала необходимо выполнить ряд действий с вещественными числами, как в области допустимых значений, так и за ее пределами, используя простейшие операторы: + ; — ;* ; /.

Изучение типов данных -действия с вещественными данными в языке Crystal

Здесь также можно поэкспериментировать с целью анализа возможных ошибок при действиях с данными вещественного типа в языке программирования Crystal. Рассмотрим пример.

Ошибки с вещественным типом языка программирования Crystal

Из рисунка видно, что при использовании данных, превышающих допустимое значение для заданного типа, возникает ошибка — переполнения разрядной сетки, которая не исправляется компилятором языка. Это говорит о том, что правильное использование типов данных ы этом языке программирования возлагается на программиста.

Изучение символьных и строковых типов данных

Символьный тип(Char) в языке Crystal представляется в Unicode кодировки UTF-8. Это означает, что для стандартных символов коды ASCII (0-127) и коды UTF-8 идентичны и занимают один байт памяти. Другие символы требуют от 2 до 4 байтов(от 16 до 32 разрядов). В частности, то, что начинается с 110, представляет собой двухбайтную последовательность, а то, что начинается с 1110, представляет собой трехбайтную последовательность, и то, что начинается с 11110, представляет собой четырехбайтную последовательность.

Записывается UTF-8 символ, окруженный одинарными кавычками: например, ‘a’ ‘Z’ ‘5’.

Строковый тип(String) представляет неизменяемую последовательность символов в кодировке UTF-8. Создается String с помощью строкового литерала, заключая UTF-8 символы в двойные кавычки: например, «hello world»

Константа(тип Symbol) в языке Crystal определяется именем, без необходимости давать ей числовое значение, например, без пробелов :hello, :good_bye, и с пробелами и символами — :»symbol with spaces».

Изучение простых типов данных языка программирования Crystal на этом можно было бы закончить. Однако на практике применяются не только наборы простых типов, но и их комбинации.

Изучение массива данных

Особым типом данных являются массивы(Array). Массив это универсальная структура данных, содержащая элементы определенного типа. Не смотря на то, что массивы относятся к структурированным типам, изучение их на данном этапе необходимо, потому что они широко используются и при процедурном(структурном) программировании.

Массивы на языке Crystal создается с помощью следующих литералов массива:

  1. [1, 2, 3]         # Array(Int32)
  2. [1, «hello», ‘x’]    # Array(Int32 | String | Char)

Массив может иметь элементы смешанного типа, это значит, что массив будет являться объединением типов, и они будут определяться при создании массива: либо при явном определении типа, либо используя литерал массива.

Совместные (или комбинированные) типы данных являются мощной особенностью Crystal: выражение может иметь набор из множества типов во время компиляции, и компилятор тщательно проверяет, разрешены ли все вызовы метода для всех этих типов.

При создании пустого массива мы всегда должны определить тип:

[] of Int32    # создастся как Array(Int32).new.

[]          # синтаксическая ошибка – не определен тип.

Способы объявления массивов.

  1. c=[12, 27, 31]         # Array(Int32)
  2. b=[11, «hello», ‘x’]    # Array(Int32 | String | Char)
  3. d=[] of Int32    # создастся как Array(Int32).new
  4. # [ ]      # синтаксическая ошибка, не определен тип

Можно легко добавлять значения массива с помощью оператора «<<» , но только для целых и строковых типов.

c=[12, 27, 31] << 43

puts c[3] # результат c=[12, 27, 31, 43]

Для итерации массивов можно использовать любой оператор цикла, но лучше использовать метод «each». Он намного быстрее простого цикла «while».

Над массивами можно выполнять различные действия. Например, суммирование элементов массива.

sum=c[1]+c[2]

puts «Суммирование элементов массива с[]»

puts sum

            Преобразование типов

Простые типы данных нового языка программирования Crystal можно преобразовывать из одного типа в другой. Но следует учесть, что язык программирования Crystal сильно типизирован, поэтому надо быть очень аккуратным с преобразованиями типов. Преобразование типа следует выполнять явно т.е. недвусмысленно и ясно для компилятора Crystal. Это можно выполнить с помощью разных методов типа «to_*», где вместо «звездочки» указывается краткое обозначение типа. Для простейших типов данных компилятор языка Crystal вполне справляется с преобразованиями автоматически, например, int8 в int32.

Например, для преобразования типа «float» в целое число можно использовать метод to_i, но следует иметь в виду, что преобразование осуществляется “отбрасыванием” дробной части без предупреждения.

 Синтаксис имеет вид;

   х = 64.34603985

   х.to_i # результат 64

Метод to_s преобразует любой тип в тип String. Для преобразования в числа с плавающей запятой, надо использовать метод ‘to_f ‘.

Кроме того,  Crystal делает различие между двумя понятиями:

Тип на стадии компиляции. то есть какой тип видит компилятор, он задается с помощью опреатора «typeof»;

Тип времени выполнения — какой тип объект имеет, когда программа уже запущена и он определяется методом «class». Но об этом позже.

Заключение

Изучение нового языка программирования Crystal не сложно, особенно для тех, кто знает хотя бы один из языков программирования. Но в любом случае начинать надо с изучения простых типов данных.

Простые типы данных нового языка программирования Crystal изучаются в среде программирования итерационно-инкрементным методом, подробно описанном в статье «Как правильно изучать язык программирования?».

Хорошую помощь в освоении языка программирования оказывает его среда программирования. В данном случае используется онлайн режим ее работы. Изучение типов данных нового языка программирования Crystal всегда следует осуществлять в консольном режиме работы среды программирования.

Статьи по теме

Изучение управляющих
конструкций языка
программирования Crystal
Изучение языка программирования Crysal Управляющие конструкции Процедурное программирование
на языке Crystal
Процедурное программирование на языке Crystal
Структурированные
типы данных языка
программирования Crystal
Структурированные типы данных Объектно — ориентированное
программирование на языке Crystal
Объектно ориентированное программирование

А также…

Внимание! Кто хочет своевременно узнавать о выходе новой статьи на сайте должен подписаться.

ПОДПИСКА НА РАССЫЛКУ

Статьи об онлайн курсах обучения

Дистанционное обучение
Обучение программированию
Проектирование информационных систем
 
Реклама. Информация о рекламодателе по ссылкам в статье.

brasm

Пенсионер с 33 - летним педагогическим стажем

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *