3.0 KiB
3.0 KiB
status, type, tags, created, updated, title, source
| status | type | tags | created | updated | title | source | ||
|---|---|---|---|---|---|---|---|---|
| seed | knowledge |
|
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 + Float → Float.
Управляющие конструкции
# 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)