`
mocca3in1
  • 浏览: 42774 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

ruby的self

阅读更多

ruby中的self

如果是成员方法,则成员方法中出现self为实例对象
如果是类方法(methodAA表现为类方法),则self为类对象


module A
   def methodA
      p "---------------instance method's self: " +  self.to_s
      self.class.methodAA
   end

def self.included(base)
   base.extend AA
end

module AA
   def methodAA
     p "---------------class method's self: " + self.to_s
   end

end

end

class H
   include A
end


H.new.methodA

 

分享到:
评论

相关推荐

    Ruby self在不同环境的含义

    而由于ruby作为一个完全纯净的面向对象语言,任何东东都是对象,方法是对象,类也是对象…,所以self就会有很多环境,区分不同环境的self含义才能更好的理解程序的含义 一、Top Level Context Ruby代码 puts self ...

    Ruby编程.pdf

    class Person def aa "#{self.class.name}(##{self}:#{self.to_s})" end p = Person.new puts p.who_am_i?

    Ruby 中的 module_function 和 extend self异同

    本文主要给大家介绍了在Ruby中 module_function 和 extend self的共同点和区别,非常的详细,也很实用,方便大家更好的理解的module_function 和 extend self

    ruby-oo-self-count-sentences-lab

    练习定义实例方法,这些实例方法使用self关键字对调用该方法的对象进行操作。 了解有关猴子修补的信息。概述在本实验中,您将向Ruby的String类添加一些实例方法。 我们通常希望避免更改内置类(特别是如果我们与...

    Ruby中的public、private、protected区别小结

    重点关注private与protected public 默认即为public,全局都可以访问,这个不解释 ...因为Ruby的原则是“private意为你不能指定方法接收者”,接收者只能是self,且self必须省略! 所以Ruby中子类可以访问父类的privat

    py2rb:使用AST从Python到Ruby的代码转换器

    py2rb.py 使用AST的代码转换器,从Python到Ruby。 这基本上是一个带有Ruby输出的NodeVisitor。..._(self,name): self.name = name def setname(self,name): self.name = nameclass foo(bar): register

    selfml:Ruby + 欧芹 + self-ml = 多汁碎块

    这是一个用于读取文件的 ruby​​ 库。 它大部分完成了,只需要一个很好的抛光。 它只会解析格式正确的文件,否则返回错误。 安装 gem install self - ml 用法 读入 .selfml 文件并漂亮地打印出来 require '...

    ruby 变量

    Ruby有三类变量,一种常量和两种严格意义上的伪变量(pseudo-variables).变量和常量都没有类型.... 由首字母标识符将其分类: $ 全局变量 @ 实变量 [a-z] 局部变量 [A-Z] 常量 唯一的例外是Ruby的伪变量:self

    在Ruby中查找和执行方法

    为了做到这点,Ruby需要一个叫做self的东西。 这样的一个过程–发现一个方法再执行之–在每种面向对象语言中都会发生。不过,对于像Ruby这样非常动态的语言,深入理解这个过程显得尤为重要。你有没有好奇过一个方法...

    ruby-oo-self-cash-register-lab

    提示1:请记住,要在另一个实例方法中调用一个实例方法,我们使用self关键字来引用要在其上进行操作的实例。 例如: class Person attr_accessor :age def initialize ( age = 0 ) @age = age end def ...

    Ruby设计模式编程之适配器模式实战攻略

    在静态类型的编程语言里,我们经常使用它去满足类型系统的特点,但是在类似Ruby这样的弱类型编程语言里,我们并不需要这么做。尽管如此,它对于我们来说还是有很多意义的。 当使用第三方类或者库的时候,我们经常从...

    详解Ruby中的单件方法和单件类

    Ruby允许给单个对象增加方法,这种只针对单个对象生效的方法,称为单件方法 示例代码 str = “just a regular string” def str.title? self.upcase == self end str.title? # => false str.methods.grep(/title?/)...

    Build Awesome Command-Line Applications in Ruby 2--第二版

    Writing a command-line application that’s self-documenting, robust, adaptable and forever useful is easier than you might think. Ruby is particularly suited to this task, because it combines high-...

    简单谈谈Ruby的private和protected

    下面这段程序让我纠结了很久,Ruby中private的概念真的很奇怪。。。 class Test private def test_print puts 'test' end end class Test2 < Test xss=removed> 这里加上self就不能调用,private method `test_...

    Ruby中嵌套对象转换成json的方法

    JSON由于其数据结构简单便利,已逐渐成为了互联网上的主流数据交换的数据格式。 在讨论嵌套对象(Nested Object)的JSON转换方法之前,我们先... “json_class” => self.class,  “data” => {“var1” => @var1}  

    RubyGems - Self Contained Ruby Libraries-开源

    RubyGems是用于将其他Ruby库打包为单个独立文件的系统,该文件还包含有关该库的元数据,例如名称,类别,依赖项等。

    ruby-oo-self-person-lab

    人实验室 目标 熟练地实例化一个班级。 获得辨别何时实现attr_accessor , attr_reader和attr_writer 。 能够识别何时定义自己的attr_reader (getter)和attr_writer (setter)方法。 介绍 ...

    self-bootstrap:Ruby的PEG解析器生成器

    ruby peg2rb.rb input-grammar > output-parser 其中input-grammar是具有输入语法描述的文件,而output-parser是要写入输出解析器的文件。 如果解析器生成成功,则程序以状态0退出,否则以非零状态退出。 peg2rb....

    实例讲解Ruby中的钩子方法及对方法调用添加钩子

    Class#inherited方法也是这样一个钩子方法,当一个类被继承时,Ruby会调用该方法。默认情况下,Class#inherited什么都不做,但是通过继承,我们可以拦截该事件,对感兴趣的继承事件作出回应。 class String def ...

Global site tag (gtag.js) - Google Analytics