Как стать автором
Обновить

Ruby-фишки

Время на прочтение2 мин
Количество просмотров6.5K
Вижу, многих заинтересовала тема Ruby. И многие просят больше практики и больше кода. Я решил вложить свои 5 копеек :) Не буду писать много теории, а лишь покажу несколько интересных фишек Ruby. Ведь главное в Ruby — красота.

1. Присвоение значений для переменных.
Вот так можно в одну строчку записать присвоение значений нескольким переменным.
x, y, z = 1, 2, 3

Результат: x = 1, y = 2, z = 3


2. Обмен значениями переменных.
Чтобы произвести обмен значениями двух переменных, часто используется третья (z), которая должна временно хранить значения x. В Ruby можно сделать проще:
x, y = 1, 2
x, y = y, x

Результат: x = 2, y = 1

3. Если все аргументы арифметического выражения целые числа, то результат будет целым, если хотя бы одно — число с плавающей точкой, то результат будет с плавающей точкой.
Не совсем очевидный ход и, если не знать о нем, могут возникнуть ошибки. Так, в результате выражения 1/2, вы расчитываете получить 0.5, но Ruby выдаст 0. То есть округлит результат в меньшую сторону до целого.
1/2 #=> 0
3/2 #=> 1

Чтобы получить правильные результаты, нужно чтоб хотя бы одно из чисел было дробным:
1.0/2 #=> 0.5
3.0/2 #=> 1.5

Еще примеры с другими арифметическими операциями:
10 — 5.0 #=> 5.0
8 + 2.0 #=> 10.0
2 * 5.0 #=> 10.0


4. Работа со строками как с массивами
Рассмотрим на простом примере:
str = «Xabrahabr!» # Что-то не так, верно?
str[0] = «H» # Исправим ошибку
puts str #=> Habrahabr!

И получим правильный результат!

5. Отрицательная индексация в массивах.
Как получить последний элемент массива, если длина неизвестна? array[array.length-1]? А предпоследний? array[array.length-2]? В Ruby есть решение лучше!
arr = [1, 2, 3, 4]
arr[-1] #=> 4

Вместе с традиционной положительной индексацией массива, в Ruby существует отрицательная. Самый последний элемент имеет индекс -1, предпоследний -2 и так далее. Запомнить просто: arr[-1] это то же самое, что и arr[arr.length-1], но с без arr.length :)

6. Массив пуст?
Есть множество способов узнать, пуст ли массив. Но самым логичным и простым является логический метод .empty?
arr = []
arr.empty? #=> true


Это далеко не все интересные фишки Ruby. Больше вы можете найти в Викиучебнике и блогах, посвященных языку. Изучайте Ruby и делитесь интересными открытиями с другими.

При подготовке статьи использованы материалы Викиучебника
Теги:
Хабы:
+2
Комментарии31

Публикации

Истории

Работа

Ruby on Rails
11 вакансий
Программист Ruby
8 вакансий

Ближайшие события

Weekend Offer в AliExpress
Дата20 – 21 апреля
Время10:00 – 20:00
Место
Онлайн
Конференция «Я.Железо»
Дата18 мая
Время14:00 – 23:59
Место
МоскваОнлайн