`

ruby 元编程 1 什么是元编程

    博客分类:
  • ruby
 
阅读更多

 

1、什么是“元编程”

首先我们弄清楚一些必要的概念。

语言构件:变量、类、方法等可以叫做语言构件。

内省:也就是我们在程序运行的时候能够读取语言构件。

class Greeting
  
  def initialize(text)
    @text = text
  end

  def welcome
    @text
  end

end

my_object = Greeting.new("hello world")
my_object.class #Greeting
my_object.instance_variables #[:@text]

 能够读取语言构件只是事情的一半,实际上元编程还要求能够写入语言构件。例如

 

class Movie < ActiveRecord::Base
end

movie = Movie.create
movie.title = "阿甘正传"
puts move.title
 我们没有定义Movie#title()和Movie#title=()这些方法,但是我们确调用成功了。原因如下ActiveRecord::Base通过内省的机制查看类的名字,然后将其按照简单的规则映射为表名。比如Movie映射为movies,ActiveRecord::Base会在运行的时候读取数据库模式,如果发现movies有两个字段title和director,那么就通过定义访问器创建两个同名的属性。这意味着ActiveRecord::Base在程序运行的时候无中生有的创建了诸如Movie#title()和Movie#title=()的方法。

 

总上,元编程应该是编写一种代码,这种代码能够在运行时操作语言构件。
 
 
分享到:
评论

相关推荐

    Ruby元编程第二版中文

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

    ruby元编程.pdf

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

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

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

    Ruby元编程pdf

    Ruby元编程是编程的一种高级技巧,它允许程序员在运行时动态地修改或创建代码,极大地提高了灵活性和代码的可扩展性。Ruby作为一种动态类型语言,其元编程能力尤为强大,使得开发者可以创建出高度定制化的解决方案。...

    Ruby元编程-中文

    通过分析案例、讲解例题、回顾Ruby代码库的实现细节,作者不仅向读者展示了Ruby编程的优势和Ruby特有的解决问题的方式,更详细开列出发挥其优势的技巧和常用的Ruby设计模式。Ruby之父松本行弘作 序推荐。

    Ruby元编程中文版

    Ruby元编程中文版

    元编程 Ruby

    在Ruby这种动态编程语言中,元编程是一种核心技术,它不仅仅是一种技巧,更是Ruby和Rails框架中用于提高开发效率和软件复用性的关键方法。 在Ruby语言中,元编程主要通过方法拦截、动态方法定义、元类以及一些特殊...

    Ruby 元编程

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

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

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

    Ruby元编程【英文版】

    1. **对象模型与类的动态行为**:Ruby的对象模型非常灵活,本书详细解释了如何利用这一特点进行元编程。例如,可以通过定义方法的缺省行为来简化代码,或者通过动态添加方法来扩展类的功能。 2. **闭包与块**:闭包...

    Ruby元编程 源代码 Metaprogramming Ruby source code

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

    Metaprogramming Ruby 2nd Edition ruby元编程

    - **Kosmas Chatzimichalis**(软件工程师):本书不仅深入讲解了Ruby及其框架Ruby on Rails的核心机制,还提供了一系列宝贵的工具和技巧,帮助读者将Ruby编程水平提升到一个新的高度。 - **Arialdo Martini**...

    ruby元编程

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

    Ruby编程,Ruby编程,

    ### Ruby编程语言简介 #### 一、Ruby编程语言概述 Ruby是一种动态的、面向对象的、通用型的编程语言,自1995年由日本程序员松本行弘(Yukihiro Matsumoto)创建以来,便以其简洁优雅的语法、高度可读性和易于学习...

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

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

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

    本资料包主要关注的是基于Ruby编程的基础知识和应用,包括如何使用Ruby进行开发和解决问题。 Ruby的设计哲学强调程序员的生产力和代码的可读性。它的语法直观,使得初学者能够快速上手。Ruby的核心特性包括: 1. ...

    Ruby元编程初学教程

    元编程的定义看似是明确的,但却又模棱两可。维基百科上对元编程的定义如下:  元编程是指某类计算机程序的编写,这类计算机程序编写或者操纵其它程序(或者自身)作为它们的数据,或者在运行时完成部分本应在编译...

Global site tag (gtag.js) - Google Analytics