Краткий справочник

Шпаргалка по возможностям Ruby 2.1

Историческое руководство по ключевым возможностям Ruby 2.1: обязательные именованные аргументы, возврат символов из def и числовые литералы.

· Опубликовано

Ruby 2.1 представил заметные синтаксические улучшения языка, включая обязательные именованные аргументы и возврат символа имени метода из def.

Обязательные именованные аргументы

Именованные аргументы без значения по умолчанию становятся строго обязательными:

# length обязателен; char по умолчанию '0'
def pad(number, length:, char: "0")
  number.to_s.rjust(length, char)
end

pad(42, length: 6) # => "000042"
pad(42)            # ArgumentError: missing keyword: :length

Определение методов возвращает символы

В Ruby 2.1+ конструкция def возвращает имя метода в виде Symbol, что позволяет применять модификаторы в той же строке:

class User
  # Сделать метод private в той же строке
  private def secret_token
    "secret"
  end

  # Связка с декораторами модулей
  memoize def expensive_computation
    sleep 2
    42
  end
end

Числовые литералы и оптимизации

# Суффикс рациональных чисел 'r'
2/3r # => (2/3)

# Суффикс комплексных чисел 'i'
3 + 4i # => (3+4i)

# Оптимизация заморозки строк: 'freeze'
"constant_string".freeze

Полезные ссылки

Связанные темы