`
mocca3in1
  • 浏览: 45303 次
  • 性别: 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 附实例

    self.reverse! end end "hello".reverse # 输出 "olleh" ``` 本教程的中文PDF部分将详细讲解这些概念,并通过实例演示如何在实际项目中应用。实例部分将涵盖基础操作、面向对象编程、文件处理、网络编程、数据库...

    Ruby-Ruby的面向对象的枚举

    在Ruby编程语言中,"面向对象的枚举"是一个重要的概念,它结合了面向对象编程的灵活性和枚举类型的效率。Ruby的枚举通常指的是枚举类(Enum Class),这是一种自定义枚举类型的方法,允许我们创建具有特定行为的枚举...

    Ruby中Time对象的常用函数总结

    ### Ruby中Time对象的常用函数总结 在Ruby编程语言中,`Time`对象是一个非常重要的类,用于处理日期和时间相关的操作。本文将详细介绍`Time`对象的一些常见且实用的方法和函数,帮助开发者更好地理解和应用这些功能...

    Ruby编程.pdf

    根据提供的信息,我们可以总结出以下关于Ruby编程的关键知识点: ### Ruby基本知识 #### 方法定义与调用 在Ruby中,方法定义使用`def`关键字,紧接着是方法名称和圆括号内的参数列表。Ruby并不使用大括号来界定...

    Ruby元编程 源代码 Metaprogramming Ruby source code

    `class << self`语法常用于在类的上下文中定义方法。 3. **消息发送**:`send`或`__send__`方法可以动态地调用其他方法,这使得你可以根据条件或数据来决定调用哪个方法。 4. **反射API**:Ruby提供了一系列的反射...

    ruby trap 初学者使用

    Ruby是一种强大的、面向对象的编程语言,以其简洁的语法和灵活的编程理念而闻名。"Ruby Trap"这个标题暗示了这是一本关于Ruby编程中常见问题和陷阱的电子书,旨在帮助初学者避免在学习过程中遇到的困扰。下面,我们...

    ruby metaprograming

    根据给定文件的信息,这里似乎存在一定的混淆,因为文件内容主要涉及的是IBM Lotus Domino 7邮件服务器的配置指南,而非“Ruby元编程”。不过,基于您的需求,我将重点围绕“Ruby元编程”这一主题来生成相关的知识点...

    Ruby - Ruby for Rails

    - **默认对象 self**:探讨 self 在 Ruby 中的含义及其在方法调用中的作用。 - **作用域规则**:深入理解 Ruby 中的作用域规则,包括局部作用域、类作用域等。 - **块与闭包**:介绍块的概念及其与闭包的区别,以及...

    Ruby-Configatron一个超级酷简单功能丰富的Ruby应用程序的配置系统

    Configatron.extend self def api_credentials "#{api_key}:#{api_secret}" end ``` 现在,你可以直接调用`Configatron.api_credentials`获取组合的凭据。 ### 结论 Configatron作为Ruby中的一个强大配置管理...

    ruby初学者教程(对初学者很有帮助)

    def self.increment_counter @@counter += 1 @@counter end end ``` **3.6 元类** 元类是类的类,即用来创建类的类,主要涉及到了Ruby的元编程特性。 **3.7 Ruby的动态性** Ruby的动态特性体现在其可以动态...

    ruby的API文档,有需要同事请下载

    - 类方法和实例方法:`class << self`和`self.method`用于定义类方法和实例方法。 - 元类:每个对象都有一个元类,用于存储对象的实例方法,是Ruby实现动态特性的重要机制。 5. **控制结构** - 条件语句:`if`、...

    ruby语法自整理

    - 类方法通过`def self.method_name`定义。 - 实例方法通过`def method_name`定义。 - `@`前缀的变量为实例变量,`@@`前缀的为类变量。 - 创建类对象:`f = Hello.new("Tom","13100000000")`。 - 调用类方法:`...

    ruby中文教程(源代码)

    - 方法定义:Ruby允许在类定义内部以及类外部定义方法,还可以使用`def self.method_name`定义类方法。 3. **Ruby on Rails** - Rails是基于Ruby的Web开发框架,遵循MVC(模型-视图-控制器)架构模式。 - ...

    Ruby语言规范

    ### Ruby语言规范详解 #### 前言 本文档旨在为使用Ruby编程的语言规范提供指导。这些规范旨在提高代码的可读性和维护性,并确保团队内部的编程风格一致性。 #### 源代码整形 ##### 代码缩进 - **缩进幅度**:建议...

    ruby源代码8

    "sfx"可能是指自解压文件(Self-extracting archive),这种文件在运行时会自动解压其内容。这暗示了可能有一个包含Ruby源代码的自解压程序,用户执行后可以查看或使用这些代码。 在这个场景下,学习和理解Ruby源...

    08Ruby 模块.docx

    ### Ruby 模块详解 #### 一、Ruby 模块简介 在 Ruby 语言中,模块(Module)是一个非常重要的概念。它不仅提供了一种组织代码的有效方式,还支持一种称为 Mixin 的特殊继承机制。模块可以被视为一个容器,用于存放...

    Ruby-Ruby技巧惯用Ruby重构和最佳实践

    2. 链式调用:Ruby的很多方法都返回self,使得链式调用成为可能,提高代码的紧凑性和可读性。 3. 字符串连接:使用`+`连接字符串会导致新对象的创建,而`操作符更高效,因为它修改原始字符串。 4. 使用`presence`...

Global site tag (gtag.js) - Google Analytics