`

实例方法和类方法(补)

    博客分类:
  • Ruby
阅读更多
看到一个人这样用module,让我迷糊了半天
ruby 代码
  1. module M   
  2.   def module_method   
  3.   end  
  4.   extend self  
  5. end  


我瞅了半天那个extend self,心想,难道这样子不会引起循环么?每次碰到这句话都给自己建一个单件类,然后在单件类中include M,到了include M的时候又要碰到extend self,然后给这个单件类再建一个单件类,继续include。。。无限循环?

但是把上述代码写了一下发现,这个extend self在M的单件类中根本没有执行?因为我对extend和include的实现不太清楚,只能猜想,在include和extend的时候,只有“方法的定义”会被执行,类似于变量定义,表达式求值,方法调用等等统统忽略,只有这样,才能符合上述现象。猜了半天,找不到头绪。回家看看ruby源代码。

分享到:
评论

相关推荐

    Android 动画类实例

    总结来说,Android 动画类实例涵盖了Android动画的基本使用,包括传统的补间动画、简单的帧动画以及强大的属性动画。通过学习这些实例,开发者可以更好地理解和运用动画,从而提升应用的视觉吸引力和用户体验。无论...

    flash 实例源程序源文件

    本压缩包提供了一系列从简单到复杂的Flash实例源文件,是初学者入门和教师教学的理想资源。 一、基础知识 Flash的基本操作包括绘制图形、导入素材、创建动画以及编写ActionScript。ActionScript是Flash的灵魂,它是...

    flash实例 含代码

    "Flash实例 含代码"这个主题,意味着我们将深入探讨Flash编程的基本概念和常见应用,以及如何通过代码来实现这些功能。 首先,Flash允许开发者使用ActionScript语言进行编程,这是一种基于ECMAScript的脚本语言。...

    基于已有实例的Linux驱动程序前向移植接口补丁推荐.docx

    通过分析错误接口语句和相似实例之间的共性,该方法能够提取接口修改方式和具体内容,形成细粒度的补丁素材。具体步骤包括: 1. **分界点识别**:定位出错接口调用的代码位置。 2. **相似度计算**:对比历史驱动...

    java中set、list和map的使用方法实例

    // java中对象容器主要有Set,List和Map三个接口类。 // 迭代器(Iterator)模式,又叫做游标(Cursor)模式。 // GOF给出的定义为:提供一种方法访问一个容器(container)对象中的各个元素, // 而又不需暴露该...

    Android热补丁动态修复实践,android0基础方法类(csdn)————程序.pdf

    本文主要介绍了如何在Android环境中实现热补丁修复,特别是针对基础方法类的修复。 首先,我们来看一个简单的例子,涉及两个类`BugClass`和`LoadBugClass`。`BugClass`包含一个`bug()`方法,而`LoadBugClass`则在`...

    设计模式之状态模式实例

    // 实现插入硬币、选择商品和退款的方法 } public class WaitingForSelection implements VendingMachineState { // 实现插入硬币、选择商品和退款的方法 } // 其他状态类类似实现 ``` `VendingMachine`类会...

    逆向基础与实例应用

    ### 逆向基础与实例应用 #### 一、逆向工程概述 逆向工程作为一种重要...它为设计师和工程师提供了一种全新的解决问题的方法,尤其是在产品快速迭代和个性化定制需求日益增长的今天,逆向工程技术的重要性愈发凸显。

    JAVA设计模式之代理模式实例

    客户端通过代理类调用方法,代理类再转发到目标类。以下是一个简单的静态代理模式示例: ```java // 目标接口 interface Target { void doSomething(); } // 目标实现类 class RealTarget implements Target { @...

    QsciScintilla的使用方法总结QT实例

    **QsciScintilla在QT中的使用方法及实例解析** Scintilla是一个高效且功能强大的文本编辑组件,它被广泛应用于各种代码编辑器和文本编辑器中,支持多种编程语言的语法高亮显示。QScintilla是Scintilla控件在QT框架...

    Android核心技术开发与实例详解—目录.pdf

    - **4.1.1 TextView类简介**:介绍TextView类的基本功能和使用方法。 - **4.1.2 EditText类简介**:解释EditText类的用途及其常见应用场景。 - **4.1.3 文本框使用案例**:通过实例演示如何使用文本框控件。 - *...

    FLASH AS 实例代码

    通过定义类,我们可以创建具有特定属性和方法的对象实例。 2. 异常处理:AS3支持try-catch语句,用于处理可能出现的错误,确保程序的健壮性。 3. 帧脚本:在Flash的时间轴上,开发者可以编写帧脚本,实现不同帧间...

    C++造的坑Java来补,补坑的路上Java接口怎么写.pdf

    在接口中增加了私有方法,包括私有实例方法和私有静态方法。这允许接口中定义某些方法供默认方法使用,但不被接口外部的实现类访问。 通过这些知识点的梳理,我们可以看到Java接口设计背后的逻辑和Java语言在发展...

    FLASHCS课件L元件库和实例-完美版资料.ppt

    4. 制作动作类的过滤动画效果时,必须将图形转换成元件,否则将失去透明度等属性,而且不能制作补间动画。 创建元件 1. 新建元件:打开“创建新元件”对话框的方法有:菜单项“插入|新建元件”、“库”面板左下角...

    轻量级JavaScript补间动画类

    1. **创建实例**:首先,你需要创建一个补间动画的实例,通常通过调用构造函数并传入目标对象和动画配置参数。 ```javascript var tween = new TweenLite(targetElement, duration, {property: value}); ``` 其中,...

    CRC16位校验和 源码实例

    例如,可以创建一个名为`CRC16Calculator`的类,其中包含一个`CalculateCRC16`方法,接收字节数组作为参数,返回16位的CRC校验和。 SQLDBA(SQL Database Administrator)的角色则涉及到数据库管理,可能需要使用...

    安卓实例 游动的小鱼

    在这个实例中,可能会有一个专门的布局文件,用于放置小鱼图像和其他元素,如背景图片或按钮。 2. **自定义视图类**:为了实现游动效果,开发者可能会创建一个继承自`View`或`SurfaceView`的自定义类。在这个类中,...

    PhotoShop CC 基础实例教程二.pdf

    PhotoShop CC基础实例教程系列旨在为初学者和中级用户介绍软件的核心功能和操作,以提升用户在图像处理方面的实际应用能力。本教程主要分为九个章节和一个专题,涵盖了PhotoShop CC的基础知识和常用操作技巧。 在本...

    android自定义补间动画

    Android中的补间动画主要由`Animation`类及其子类构成,包括`TranslateAnimation`(平移)、`RotateAnimation`(旋转)、`ScaleAnimation`(缩放)和`AlphaAnimation`(透明度变化)。这些类提供了对动画效果的精细...

Global site tag (gtag.js) - Google Analytics