Главная » Статьи » Ruby » Более подробно о типах данных |
Арифметические операции
Арифметические операции Арифметические операции в Ruby обычны: сложение (+), вычитание (-), умножение (*), деление (/), получение остатка от деления (%), возведение в степень (**). 6 + 4 #=> 10 6 - 4 #=> 2 6 * 4 #=> 24 6 / 4 #=> 1 6 % 4 #=> 2 6 ** 4 #=> 1296 Эти операции используются как числами с плавающей запятой, так и целыми числами (а также рациональными дробями и комплексными). Порядок вычисления обычный. Для изменения приоритета применяются круглые скобки: 2 + 2 * 2 #=> 6 (2 + 2) * 2 #=> 8 Первое, что бросается в глаза, — результат арифметической операции двух целых чисел всегда будет целым. Особенно это видно при делении: 1/3 #=> 0 2/3 #=> 0 3/3 #=> 1 Если все аргументы арифметического выражения целые числа, то результат будет целым, если хотя бы одно число с плавающей запятой, то результат будет числом с плавающей запятой. Одна вторая в Ruby ноль, А три вторые — единица. Запомнить надо эту соль, Чтоб результату не дивиться. Посмотрим, каковы результаты, когда одно из чисел является числом с плавающей запятой. 6.0 + 4 #=> 10.0 6 - 4.0 #=> 2.0 6.0 * 4.0 #=> 24.0 6.0 / 4 #=> 1.5 (одно из чисел с плавающей запятой, значит результат с плавающей запятой) 6.0 % 4 #=> 2.0 6 ** 4.0 #=> 1296.0 Лучше проверить эти сведения самостоятельно. Поразрядная арифметика
Операции побитовой арифметики заимствованы из языка Си. На этот раз без всяких экзотических особенностей. 6 & 4 #=> 4 6 | 4 #=> 6 6 ^ 4 #=> 2 6 << 4 #=> 96 6 >> 4 #=> 0 (чересчур намного сдвинули) ~4 #=> -5 (операция только над одним аргументом) Здесь, вроде, всё понятно и без дополнительных пояснений. А если непонятно, то справочник по языку Си поможет. Операции с присваиванием
Часто можно встретить выражения вида: number_one += number_two Это выполнение операции сразу с присваиванием. Вышеуказанная запись равнозначна следующей: number_one = number_one + number_two Вполне естественно, что вместо операции + может использоваться любая другая, а вместо чисел могут быть другие типы данных. string = "едем" string += ", " string *= 3 string #=> "едем, едем, едем, " array = [1, 2, 3] array += [4, 5] array #=> [1, 2, 3, 4, 5] При определении метода + метод += вы получаете в подарок. Это правило касается всех бинарных операций, обозначаемых значками. | |||||||||||||||
Просмотров: 4409 | | |
Всего комментариев: 0 | |