简体   繁体   English

Ruby-从子对象调用方法

[英]Ruby - Calling a method from a child object

I'm new to Ruby and trying to determine how I can call a class from a child object. 我是Ruby的新手,正在尝试确定如何从子对象调用类。 Something like the below; 类似于下面的内容; however when I try it, I get an error saying "undefined local variable or method `me'" 但是,当我尝试它时,出现错误消息“未定义的局部变量或方法“ me””

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
instance.class

给你参考课

This works: But your code had multiple errors. 这可行:但是您的代码有多个错误。

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
  • You don't need to explicity extend Object, everything extends Object in ruby. 您不需要显式扩展Object,一切都可以用ruby扩展Object。
  • Your class name needs to start with a capital letter. 您的班级名称必须以大写字母开头。

    class MyObject attr_accessor :me 类MyObject attr_accessor:me

    end 结束

    me_too = MyObject.new me_too.me = "test" me_too = MyObject.new me_too.me =“测试”

in console 在控制台中

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

Check out some introductory ruby tutorials maybe http://ruby.learncodethehardway.org/ 查看一些介绍性的ruby教程,也许http://ruby.learncodethehardway.org/

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM