Назад к вопросам
Junior
214
questionbank
Что такое аргумент для класса?
Sobes Copilot
Получайте ответы в реальном времени
Ответ от нейросети
sobes.tech AI
Аргумент для класса в Ruby - это значение, передаваемое в его метод initialize. Этот метод вызывается при создании нового экземпляра класса с помощью Class.new или синтаксического сахара, такого как ClassName.new(...). Аргументы позволяют конфигурировать создаваемый объект, устанавливая его начальное состояние.
class Person
attr_reader :name, :age
# Метод initialize принимает аргументы
def initialize(name, age)
# И использует их для инициализации экземпляра
@name = name
@age = age
end
end
# При создании экземпляра передаются аргументы
person1 = Person.new("Alice", 30)
person2 = Person.new("Bob", 25)
puts person1.name # Выводит "Alice"
puts person2.age # Выводит 25
Аргументы могут быть обязательными, необязательными (с значениями по умолчанию), с ключевыми словами (keyword arguments) или переменным числом (splat operator *).
class Example
# Обязательный аргумент, необязательный с значением по умолчанию, ключевой аргумент, переменное число аргументов
def initialize(required_arg, optional_arg = "default", keyword_arg: "keyword", *splat_args)
puts "Required: #{required_arg}"
puts "Optional: #{optional_arg}"
puts "Keyword: #{keyword_arg}"
puts "Splat: #{splat_args.inspect}" # inspect для отображения массива
end
end
# Пример использования с различными типами аргументов
Example.new(1)
# Output:
# Required: 1
# Optional: default
# Keyword: keyword
# Splat: []
Example.new(1, 2, keyword_arg: "custom value", 3, 4)
# Output:
# Required: 1
# Optional: 2
# Keyword: custom value
# Splat: [3, 4]