Специализация
Python Backend Developer
Java Backend Developer
Node.js Backend Developer
Golang Backend Developer
React Frontend Developer
Выберите навыки
Ruby
Git
CI/CD
Postgres
Docker
Сложность
1-3
4-6
7-8
9-10
Рейтинг вопросов
1
2
3
4
5
Подпишись на Ruby Developer в телеграм
Ruby — статически или динамически типизированный язык?
Ruby является динамически типизированным языком. Это означает, что тип переменной определяется во время выполнения программы, и переменная может менять тип данных. Например, переменной можно присвоить сначала число, а затем строку, и это не вызовет ошибок.
Что такое геттеры и сеттеры в Ruby?
Геттеры используются для получения значений переменных объекта, а сеттеры — для их изменения. Их можно определить вручную, но в Ruby есть специальные методы attr_reader, attr_writer и attr_accessor, которые упрощают создание геттеров и сеттеров.
Что происходит при вызове метода в Ruby?
Когда вызывается метод в Ruby, объекту отправляется сообщение с именем метода. Если метод существует у объекта, он будет выполнен. Такой подход позволяет вызывать методы динамически с помощью send или public_send.
Какие типы переменных есть в Ruby?
В Ruby есть четыре типа переменных:
Локальные (local_variable) — видны только внутри блока, метода или класса.
Переменные экземпляра (@instance_variable) — принадлежат конкретному объекту.
Переменные класса (@@class_variable) — делятся между всеми экземплярами класса.
Глобальные ($global_variable) — доступны из любого места программы.
Что вернётся в результате сложения 10.5 и 10?
Результатом сложения 10.5 + 10 будет число с плавающей точкой: 20.5.
Чем отличаются переменные, начинающиеся с @, @@ и $?
Что такое attr_reader, attr_writer, attr_accessor и зачем они?
Что значит "?" в конце названия методов? Что означает "!" в конце названия методов?
Чем отличается энумератор map от each?
Что такое модуль? Какие есть варианты подключения модулей в класс?
Рейтинг:
3
Сложность:
4
@ — переменная экземпляра, принадлежащая объекту.
@@ — переменная класса, общая для всех экземпляров класса.
$ — глобальная переменная, доступная из любого места программы.
Рейтинг:
3
Сложность:
5
attr_reader создает геттер, attr_writer — сеттер, а attr_accessor — оба метода. Они позволяют упрощенно создавать методы для работы с переменными экземпляра.
Рейтинг:
2
Сложность:
5
Методы с ? в конце обычно возвращают логическое значение (true или false) и используются для проверки условий. Методы с ! означают, что они изменяют объект на месте или имеют потенциально "опасное" поведение по сравнению с их безопасной версией.
Рейтинг:
3
Сложность:
4
each проходит по каждому элементу коллекции и выполняет заданное действие, но ничего не возвращает. map создаёт новую коллекцию, преобразовывая каждый элемент по заданному правилу.
Рейтинг:
2
Сложность:
4
Модуль — это контейнер для методов и констант, который нельзя инстанцировать как объект. В классы его можно подключить через include (включает методы как методы экземпляра), extend (добавляет методы как методы класса) или prepend (переопределяет методы класса).
Рейтинг:
3
Сложность:
2
Рейтинг:
3
Сложность:
5
Рейтинг:
2
Сложность:
4
Рейтинг:
4
Сложность:
3
Рейтинг:
2
Сложность:
3