В Ruby, простір імен (namespace) - це концепція, яка дозволяє групувати імена змінних, класів і методів таким чином, що вони не конфліктують з іменами інших об’єктів. Простір імен допомагає уникнути збитків імен і дозволяє створювати більш структурований та чистий код.
Основним механізмом для реалізації просторів імен є використання модулів. Модуль в Ruby - це контейнер для класів, методів та констант. Модулі можна вкладати один в одного для створення ієрархії просторів імен.
Ось приклад використання простору імен в Ruby з використанням модулів:
module MyNamespace
class MyClass
def my_method
puts 'Hello from MyClass'
end
end
def self.my_function
puts 'Hello from my_function'
end
end
# Виклик методу з простору імен
obj = MyNamespace::MyClass.new
obj.my_method
# Виклик функції з простору імен
MyNamespace.my_function
У цьому прикладі MyNamespace
- це простір імен, створений за допомогою модуля. Всередині цього простору імен знаходяться клас MyClass
та функція my_function
. Вони викликаються за допомогою подвійного двокрапка ::
, який вказує на простір імен.
Простір імен в Ruby допомагає уникати конфліктів імен, полегшує організацію коду та робить програми більш структурованими.