--- status: seed type: concept tags: [] created: 2025-12-17 updated: 2026-05-17 aliases: - Ruby - основы языка --- # Ruby - основы языка Пусть Ruby и объектно-ориентированный язык, можно с ним работать, как с обычным процедурным языком. ```ruby puts "Hello World!" ``` Команда `puts` выводит что-угодно в консоль. - В конце строк ставить знаки препинания не нужно - Пробелы в начале строки ничего не значит, никакой табуляции - Если нужно написать несколько команд в одной строке, то `;` заменит перенос строки по смыслу ## Комментарии - Два вида комментариев: - Однострочный - символ `#` - Многострочный - конструкция =begin =end ## Типы данных ```ruby puts "Hello".class -> String puts true.class -> TrueClass puts 5.class -> Integer puts 6.4.class -> Float putl nil.class -> NilClass ``` ### Именование - Переменные называются с маленькой буквы - Классы, обратно, именуются с большой буквы - Нельзя называть классы и переменные, используя ключевые слова языка ### Преобразование типов - Явное (с помощью функций) - `to_i` - к целому числу (отсечение дробной части для *float*) - `to_s` - к строке - `to_f` - к вещественному числу - Неявное (преобразование в ходе работы программы) - авто преобразование при мат.операциях (int + float = float) ![[Pasted image 20260517175400.png]] ![[Pasted image 20260517175655.png]] ## Управляющие конструкции В Ruby есть три основных оператора: - if - без ветвления `if a > 0 end` - if-elsif-else - unless - сработает, если условие ложно - case ![[Pasted image 20260517181450.png]] ### Операторы цикла 1) loop - бесконечный цикл (с условиями выхода break) 2) while - цикл с условием выполнения 3) next - прерывание шага цикла и моментальный переход на следующий шаг 4) until - цикл, пока условие ложно 5) redo - прерывание текущего шага и повторение его же 6) for - итератор перебора перечислимого объекта - самый распространенный вариант - диапазоны: - `n..m` - все целые от `n` до `m` *включительно* - `n...m` - все числа не включая `m` > ```ruby > x, r = x.divmod > ```