Ruby 参数数量错误
Ruby wrong number of arguments
我正在尝试使用 attr_accessor
创建我的 getter 和 setter。我想为我的变量赋值。
这是我的代码:
class Person
def initialize(name)
attr_accessor :name
end
def initialize(age)
attr_accessor :age
end
end
person1 = Person.new
person1.name = "Andre"
person1.age = 22
虽然我遇到了一些麻烦。我的错误是:
q5.rb:6:in `initialize': wrong number of arguments (given 0, expected 1) (ArgumentError)
这就是您要执行的操作:
class Person
attr_accessor :name, :age
end
person1 = Person.new
person1.name = "Andre"
person1.age = 22
例如,替代方法可以是:
class Person
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
person1 = Person.new("Andre", 22)
您看到的错误是因为您定义(然后重新定义)一个需要一个参数的 initialize
方法:
def initialize(name)
然后尝试在不提供参数的情况下创建对象:
person1 = Person.new
我正在尝试使用 attr_accessor
创建我的 getter 和 setter。我想为我的变量赋值。
这是我的代码:
class Person
def initialize(name)
attr_accessor :name
end
def initialize(age)
attr_accessor :age
end
end
person1 = Person.new
person1.name = "Andre"
person1.age = 22
虽然我遇到了一些麻烦。我的错误是:
q5.rb:6:in `initialize': wrong number of arguments (given 0, expected 1) (ArgumentError)
这就是您要执行的操作:
class Person
attr_accessor :name, :age
end
person1 = Person.new
person1.name = "Andre"
person1.age = 22
例如,替代方法可以是:
class Person
attr_accessor :name, :age
def initialize(name, age)
@name = name
@age = age
end
end
person1 = Person.new("Andre", 22)
您看到的错误是因为您定义(然后重新定义)一个需要一个参数的 initialize
方法:
def initialize(name)
然后尝试在不提供参数的情况下创建对象:
person1 = Person.new