我想我正走在正确的轨道上,但是当我试图呼叫p.first_name时.我得到一个错误,可以在截图中看到,有谁知道我做错了什么?
截图http://snag.gy/pj6ny.jpg 如果你看不到,这里有一个链接:http://snag.gy/pj6ny.jpg
这是代码:
class Person
def initialize (first_name, last_name, age)
@first_name = first_name
@last_name = last_name
@age = age
end
end
Run Code Online (Sandbox Code Playgroud)
我进去的时候一切都很好
> p = Person.new("Earl", "Rubens-Watts", 2)
Run Code Online (Sandbox Code Playgroud)
但那之后很奇怪.期望的输出是:
> p = Person.new("Earl", "Rubens-Watts", 2)
> p.first_name
=> "Earl"
> p.last_name
=> "Rubens-Watts"
> p.age
=> 2
Run Code Online (Sandbox Code Playgroud)
谢谢!
您尚未定义first_name方法或声明任何属性.试试这个:
class Person
attr_reader :first_name, :last_name, :age
def initialize (first_name, last_name, age)
@first_name = first_name
@last_name = last_name
@age = age
end
end
Run Code Online (Sandbox Code Playgroud)