Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад

Что значит "?" в конце названия методов? Что означает "!" в конце названия методов?

Вопрос проверяет понимание конвенций именования методов в Ruby и их влияния на поведение программы.

Короткий ответ

Методы с ? в конце обычно возвращают логическое значение (true или false) и используются для проверки условий. Методы с ! означают, что они изменяют объект на месте или имеют потенциально "опасное" поведение по сравнению с их безопасной версией.

Длинный ответ

В Ruby использование ? и ! в названии методов — это соглашение, но не обязательное требование.

 

- ? в методах:

Методы с ? возвращают логическое значение и используются для проверки условий. Примеры:

"hello".empty?  # => false  
[1, 2, 3].include?(2)  # => true  

Такие методы позволяют писать код, который легко читать и понимать.

 

- ! в методах:
Методы с ! обычно модифицируют объект на месте или имеют более опасное поведение. Например:

str = "hello"  
str.upcase!  # Модифицирует сам объект str  
puts str  # => "HELLO"  

Методы с ! часто имеют безопасную версию, которая возвращает модифицированное значение, но не изменяет оригинальный объект:

str = "hello"  
new_str = str.upcase  # Создаёт новую строку  
puts str      # => "hello"  
puts new_str  # => "HELLO"  

 

Методы с ? помогают проверять условия, а методы с ! используются, когда требуется явно указать на изменения объекта.

Уровень

  • Рейтинг:

    2

  • Сложность:

    5

Навыки

  • Ruby

Ключевые слова

#method

#naming

#dangerous

#predicate

Подпишись на Ruby Developer в телеграм