新手问题 新手问题 undefined method

angusouyang · 2014年07月22日 · 最后由 angusouyang 回复于 2014年07月24日 · 1917 次阅读
class Cat 
    def initialize(name)
        @name = name
    end 

    def whatthehell()
        puts 'haaa'
    end
end

cat = Cat.new('Kitty')
puts cat.whatthehell
puts cat.name

错误信息:test.rb:13:in <main>': undefined methodname' for #<0x007ff1ba887468> (NoMethodError)0x007ff1ba887468>

= =请问这是什么回事呢?? 想不出来

别想了,先看书...

#1 楼 @springwq 谢谢,我加上了 attr_reader :name ,可以运行

所以就是说实例变量是不能通过 . 这种方式直接访问的吗?

attr_reader :name 就是声明@name这个 instance variable 可以通过 method 读取的

嘿嘿,你一定是看漏了啥!

跪求楼主上传个头像。。。

#5 楼 @springwq 你介绍的这本非常好 面向对象那部分说得很细, 谢谢!

#8 楼 @Rei 嗯 现在已经弄清楚了 谢谢指出

需要 登录 后方可回复, 如果你还没有账号请 注册新账号