Читаем Crystal Programming. Введение на основе проекта в создание эффективных, безопасных и читаемых веб-приложений и приложений CLI полностью

При записи числа в соответствии со значением будет использоваться наиболее подходящий тип: если это целое число, то это будет Int32, Int64 или UInt64, в зависимости от того, что наиболее подходит. Если это значение с плавающей запятой, оно всегда будет Float64. Вы также можете добавить суффикс, чтобы указать один конкретный тип. Наконец, для улучшения читаемости можно свободно использовать символы подчеркивания. Вот несколько примеров того, как можно выразить числа:

small_number = 47 # Это тип Int32

larger_number = 8795656243 # Теперь это тип Int64

very_compact_number = 47u8 # Тип UInt8 из-за суффикса

other_number = 1_234_000 # Это то же самое, что 1234000

negative_number = -17 # Есть и отрицательные значения

invalid_number = 547_u8 # 547 не соответствует диапазону UInt8

pi = 3.141592653589 # Дробные числа имеют формат Float64

imprecise_pi = 3.14159_f32 # Это Float32

Как и ожидалось, вы также можете выполнять математические операции с числами. В большинстве языков это работает аналогично математике. Операторов много, и их можно переставлять в зависимости от их приоритета. В любом случае круглые скобки могут помочь организовать более крупное выражение. Давайте посмотрим пример:

hero_health_points = 100

hero_defense = 7

enemy_attack = 16

damage = enemy_attack - hero_defense # Враг наносит 9 единиц урона

hero_health_points -= damage # Теперь здоровье героя составляет 91

healing_factor = 0.05 # Герой исцеляется со скоростью 5% за ход

recovered_health = hero_health_points * healing_factor

hero_health_points += recovered_health # Теперь здоровье 95,55

# Этот же расчет можно выполнить и в одну строку: result = (100 - (16 - 7)) * (1 + 0.05) # => 95.55

Вот некоторые из наиболее распространенных операций с числами:

Таблица 2.2 – Операции, применимые к числам

Существуют и другие типы чисел для выражения больших или более точных величин:

BigInt: произвольно большое целое число.

BigFloat: произвольно большие числа с плавающей запятой.

BigDecimal: точные и произвольные числа по основанию 10, особенно полезно для валют.

BigRational: выражает числа в виде числителя и знаменателя.

Complex: содержит число с действительной и мнимой частью.

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

<p>Примитивные константы — true, false и nil</p>

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

Таблица 2.3 – Примитивные константы и описания

Значения true и false являются результатом выражений сравнения и могут использоваться с условными выражениями. Несколько условных операторов можно комбинировать с помощью && (и) или || (или) символы. Например, 3 > 5 || 1 < 2 оценивается как true.

Не все данные состоят только из чисел; нам часто приходится иметь дело с текстовыми данными. Давайте посмотрим, как мы можем с ними справиться.

<p>Строки и символы (String и Char)</p>

Текстовые данные могут быть представлены типом String: они могут хранить произвольные объемы текста UTF-8, предоставляя множество служебных методов для его обработки и преобразования. Существует также тип Char, способный хранить одну кодовую точку Юникода: character. Строки выражаются с помощью текста в двойных кавычках, а символы — с одинарными кавычками:

text = "Crystal is cool!"

name = "John"

single_letter = 'X'

kana = 'あ' # Международные символы всегда действительны

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

name = "John"

age = 37

msg = "#{name} is #{age} years old" # То же, что и "Джону 37 лет"

Перейти на страницу:

Похожие книги

1С: Бухгалтерия 8 с нуля
1С: Бухгалтерия 8 с нуля

Книга содержит полное описание приемов и методов работы с программой 1С:Бухгалтерия 8. Рассматривается автоматизация всех основных участков бухгалтерии: учет наличных и безналичных денежных средств, основных средств и НМА, прихода и расхода товарно-материальных ценностей, зарплаты, производства. Описано, как вводить исходные данные, заполнять справочники и каталоги, работать с первичными документами, проводить их по учету, формировать разнообразные отчеты, выводить данные на печать, настраивать программу и использовать ее сервисные функции. Каждый урок содержит подробное описание рассматриваемой темы с детальным разбором и иллюстрированием всех этапов.Для широкого круга пользователей.

Алексей Анатольевич Гладкий

Программирование, программы, базы данных / Программное обеспечение / Бухучет и аудит / Финансы и бизнес / Книги по IT / Словари и Энциклопедии
1С: Управление торговлей 8.2
1С: Управление торговлей 8.2

Современные торговые предприятия предлагают своим клиентам широчайший ассортимент товаров, который исчисляется тысячами и десятками тысяч наименований. Причем многие позиции могут реализовываться на разных условиях: предоплата, отсрочка платежи, скидка, наценка, объем партии, и т.д. Клиенты зачастую делятся на категории – VIP-клиент, обычный клиент, постоянный клиент, мелкооптовый клиент, и т.д. Товарные позиции могут комплектоваться и разукомплектовываться, многие товары подлежат обязательной сертификации и гигиеническим исследованиям, некондиционные позиции необходимо списывать, на складах периодически должна проводиться инвентаризация, каждая компания должна иметь свою маркетинговую политику и т.д., вообщем – современное торговое предприятие представляет живой организм, находящийся в постоянном движении.Очевидно, что вся эта кипучая деятельность требует автоматизации. Для решения этой задачи существуют специальные программные средства, и в этой книге мы познакомим вам с самым популярным продуктом, предназначенным для автоматизации деятельности торгового предприятия – «1С Управление торговлей», которое реализовано на новейшей технологической платформе версии 1С 8.2.

Алексей Анатольевич Гладкий

Финансы / Программирование, программы, базы данных