Files
SecondBrain/90 Library/Programming/Ruby - основы языка.md
T
2026-05-24 15:03:28 +03:00

3.0 KiB
Raw Blame History

status, type, tags, created, updated, title, source
status type tags created updated title source
seed knowledge
programming
ruby
2026-05-17 2026-05-17 Ruby - основы языка Ruby - основы языка

Ruby — основы языка

Ruby — объектно-ориентированный язык, но допускает процедурный стиль написания кода. Всё является объектом, включая числа и булевы значения.

Связанные темы: Ruby On Rails

Синтаксис

  • Знак препинания в конце строки не нужен
  • Отступы не несут синтаксического смысла (в отличие от Python)
  • Несколько команд в одной строке разделяются через ;
puts "Hello World!"
puts 42; puts "next line"

Комментарии

# однострочный комментарий

=begin
многострочный
комментарий
=end

Типы данных

"Hello".class  # => String
true.class     # => TrueClass
5.class        # => Integer
6.4.class      # => Float
nil.class      # => NilClass

Именование

  • Переменные — с маленькой буквы: my_var
  • Классы — с большой буквы: MyClass
  • Ключевые слова языка использовать нельзя

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

Явное:

Метод Что делает
to_i к целому числу (дробная часть отсекается)
to_f к вещественному числу
to_s к строке

Неявное: при математических операциях Integer + FloatFloat.

Управляющие конструкции

# if без ветвления
if a > 0
  action
end

# if-elsif-else
if a > 0
  ...
elsif a == 0
  ...
else
  ...
end

# unless — выполнится, если условие ложно
unless a > 0
  action
end

# case
case a
when 1 then puts "один"
when 2 then puts "два"
else puts "другое"
end

Циклы

Оператор Назначение
loop бесконечный цикл; выход через break
while цикл с условием выполнения
until цикл, пока условие ложно
for итератор по перечислимому объекту
next пропустить текущий шаг
redo повторить текущий шаг заново

Диапазоны в for:

for i in 1..5   # от 1 до 5 включительно
for i in 1...5  # от 1 до 4 (5 не входит)

Деление с остатком:

x, r = x.divmod(n)