`

ruby 元编程 类的真相

 
阅读更多

看如下的代码

class D
 def my_methond
   @v = 'demo'
 end
end

d = D.new
puts d.class
puts d.instance_variables #puts nothing

d.my_methond
puts d.instance_variables #puts @v

 让我们思考对象中有什么?

 在调用  my_methond之前,实例里什么都没有,在调用my_methond之后,实例里有了实例变量。

所以,在ruby中,对象的类和他的实例变量没有任何关系,当给实例变量赋值的时候,他们就生成。因此对于同一个类,你可以创建具有不同实例变量的对象。你可以把ruby中的实例变量理解为哈希表中的键值,每一个对象的键值都可能不同。

我们觉得对象中还有方法,实际上对象中并没有方法。在对象的内部仅仅包含了赋值的实例变量和对自身类的引用。实例方法真正存在的地方在类中。这也就是为什么同一个类的对象共享同样的方法而不共享同样的实例变量。

 

总结:一个对象的实例变量存在于对象的自身,而一个对象的方法存在于对象自身的类。

分享到:
评论

相关推荐

    Ruby元编程第二版中文

    Ruby元编程是编程领域中一个深入且强大的主题,它允许程序员在运行时修改或创建代码,极大地提高了灵活性和代码的动态性。这本书“Ruby元编程第二版”专注于讲解Ruby语言的这一独特特性,旨在帮助开发者更好地理解和...

    ruby元编程.pdf

    ruby元编程.pdf ruby 元编程 这本书对ruby的调用原理做了非常精辟的分析。 ruby 元编程 这本书对ruby的元编程方式做了比较好的阐释。 ruby 元编程 这本书对结对编程有一个很好的提现。

    《Ruby元编程》PDF版本下载.txt

    根据提供的文件信息,本文将对《Ruby元编程》这一主题进行深入探讨,解析其核心概念、应用场景以及为何元编程在Ruby语言中具有重要的地位。 ### 一、Ruby元编程简介 #### 1.1 元编程定义 元编程是指编写能够生成或...

    Ruby元编程pdf

    Ruby元编程的核心概念包括类、模块、方法、变量和对象的动态性。以下是对这些概念的详细解释: 1. **类与模块**:在Ruby中,类和模块都是对象。你可以动态地创建和修改它们。例如,你可以通过`Class.new`创建一个新...

    Ruby元编程-中文

    《Ruby元编程》以案例形式循序渐进地介绍Ruby特有的实用编程技巧。通过分析案例、讲解例题、回顾Ruby代码库的实现细节,作者不仅向读者展示了Ruby编程的优势和Ruby特有的解决问题的方式,更详细开列出发挥其优势的...

    Ruby元编程中文版

    Ruby元编程中文版

    Ruby元编程【英文版】

    4. **元类与元对象**:元类(即类的类)和元对象是Ruby元编程的核心概念。通过理解这些概念,开发者可以更好地掌握Ruby语言的强大之处。书中通过具体的例子解释了如何利用元类和元对象来实现复杂的元编程任务。 5. ...

    元编程 Ruby

    元编程是编程中的一个高级概念,它允许程序员编写能够生成或修改代码的代码...如果需要进一步了解元编程在Ruby中的具体实践和案例,建议查阅Ruby官方文档、相关书籍以及在线社区讨论,这些都是学习Ruby元编程的好资源。

    Ruby 元编程

    本书的第一部分“Ruby元编程”是本书的核心部分,他讲述了一个资深程序员在办公室一周发生的事情。 本书的第二部分“Rails中的元编程”是一个元编程实例,Rail是Ruby标志性框架。 在阅读本书之前,需要了解本书的三...

    Ruby元编程 源代码 Metaprogramming Ruby source code

    Ruby元编程是编程领域中的一个高级技术,它允许程序员在运行时操纵语言的结构和行为。这本《Metaprogramming Ruby》书籍深入探讨了如何利用Ruby的特性进行元编程,帮助开发者提升代码的灵活性、可扩展性和复用性。源...

    Ruby元编程 第2版 中文 佩罗塔著 2015.08

    ruby元编程 第2版 中文 目录清晰 方便广大通勤族路上看,如果喜欢请购买正版纸质图书

    Metaprogramming Ruby 2nd Edition ruby元编程

    ### Metaprogramming Ruby 2nd Edition:深入理解Ruby元编程 #### 一、书籍简介与价值 《Metaprogramming Ruby 2nd Edition》是一本深入探讨Ruby语言元编程特性的经典之作。本书不仅适合那些希望深入了解Ruby内部...

    ruby元编程

    《Ruby元编程》以案例形式循序渐进地介绍了Ruby特有的实用编程技巧 元编程 通过分析案例 讲解例题 回顾Ruby代码库的实现细节 《Ruby元编程》作者Paolo Perrotta不仅向读者展示了Ruby编程的优势和Ruby特有的解决问题...

    Ruby编程语言入门与实践 .pptx

    Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门与实践 Ruby编程语言入门...

    Ruby元编程基础学习笔记整理

    ### Ruby元编程基础学习笔记整理 #### 一、语言构建(Language Constructs) 在Ruby中,诸如变量、类和方法等元素统称为语言构建(Language Constructs)。这些构建块是构成Ruby程序的基础。 ##### 示例代码分析 ```...

    基于Ruby编程语言基于Ruby编程语言基于Ruby编程语言基于Ruby编程语言.zip

    3. 元编程:Ruby的元编程能力强大,允许在运行时修改或创建类和方法,这极大地增强了代码的灵活性和可扩展性。 4. 自动内存管理:Ruby使用垃圾收集机制自动管理内存,程序员无需手动释放内存,降低了内存管理出错的...

    Ruby 元编程.pdf

    Ruby 元编程,不错的书,就是有点难懂

    Ruby元编程初学教程

     元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译时完成的工作。多数情况下,与手工编写全部代码相比,程序员可以获得更高的工作...

    Ruby编程,Ruby编程,

    4. **元编程能力**:Ruby允许开发者在运行时修改类的行为,这种灵活性使得Ruby非常适合于快速开发和原型制作。 5. **强大的标准库**:Ruby拥有一个非常强大且全面的标准库,这为开发者提供了大量的内置功能,从而...

Global site tag (gtag.js) - Google Analytics