Ruby - 从子对象调用方法

时间:2011-09-14 18:43:11

标签: ruby

我是Ruby新手并试图确定如何从子对象中调用类。像下面这样的东西;但是当我尝试它时,我得到一个错误,说“未定义的局部变量或方法'我'”

class my_object < Object
    attr_accessor :me

    def initialize(attributes ={})
    end


    def setvalue(passed_value)
      @passed_value = passed_value.to_s
    end 

    def search(passed_value) 
      @passed_value.include?(passed_value)
    end

   end

   def getMe
    me_too = my_object.new
    me_too.me = "test"
    me_too.me.search("test")

   end
end

3 个答案:

答案 0 :(得分:0)

instance.class

将为您提供课程

的参考

答案 1 :(得分:0)

这有效: 但是你的代码有多处错误。

class MY
    attr_accessor :me

    def initialize(attributes ={})
    end


    def setvalue(passed_value)
      passed_value = passed_value.to_s
    end

    def search(passed_value)
      passed_value.include?(passed_value)
    end


   def getMe
    me_too = MY.new
    me_too.me = "test"
    me_too.search("test")

   end
end

my = MY.new
my.getMe

答案 2 :(得分:0)

  • 您不需要明确扩展Object,所有内容都在ruby中扩展Object。
  • 您的班级名称需要以大写字母开头。

    类MyObject     attr_accessor:我

    me_too = MyObject.new me_too.me =“test”

在控制台

me_too => #<MyObject:0x106b2e420 @me="test"> 

查看一些介绍性的ruby教程,可能是http://ruby.learncodethehardway.org/