主要介绍了Ruby Metaprogramming的机制和方法。主要包括:
Introspection
Dynamic dispatch/Dynamic method
Ghost Method
Ruby Alias and AOP
Object/Class Extension
Eval/Class Eval/Instance Eval/Module Eval
Ruby Object Model
Singleton class/Metaclass/Eigenclasses
Hook Method
Module and Class Mixin Extension
Block、Callable Object and Functional programming
Domain Specific Language
另附带两段代码没往ppt写:
Open class and sexy api:
#!/usr/bin/ruby
class Numeric
def weeks
return 7 * self.days
end
def days
return 24 * self.hours
end
def hours
return 60 * self.minutes
end
def minutes
return 60 * self.seconds
end
def seconds
return self
end
def ago
return Time.now - self
end
def after
return Time.new + self
end
end
p 3.minutes.ago
p 3.days.ago
p 3.days.after
class macro:
class Object
def self.my_attr_accessor(sym)
class_eval <<EOF
def #{sym}
instance_variable_get(:@#{sym})
end
def #{sym}=(value)
instance_variable_set(:@#{sym},value)
end
EOF
end
end
class A
my_attr_accessor :a
def initialize(a)
@a = a
end
end
a_ins = A.new(1)
a_ins.a = 22
puts a_ins.a
附件有ppt
分享到:
相关推荐
Ruby元编程是编程领域中的一个高级技术,它允许程序员在运行时操纵语言的结构和行为。这本《Metaprogramming Ruby》书籍深入探讨了如何利用Ruby的特性进行元编程,帮助开发者提升代码的灵活性、可扩展性和复用性。源...
《Metaprogramming Ruby: Programming Like the Ruby Pros》是一本深入探讨Ruby元编程技术的专业书籍,作者Paolo Perrotta通过丰富的实例和清晰的概念解析,帮助读者理解和掌握Ruby中的高级编程技巧。本书不仅适用于...
从给定的文件信息来看,虽然没有提供直接的内容,但是从标题和描述中可以得知,我们需要讨论的主题是Ruby的元编程(metaprogramming)示例。元编程是指程序有能力在运行时生成、修改或执行代码的能力。Ruby是一种...
在Ruby编程语言中,元编程(Metaprogramming)是一种强大的特性,允许程序在运行时检查、修改甚至创建自身的结构和行为。元编程能够增加代码的灵活性和可扩展性,但同时也需要谨慎使用,以避免过度复杂化和降低代码...
《Metaprogramming Ruby 2nd Edition》是一本深入探讨Ruby语言元编程特性的经典之作。本书不仅适合那些希望深入了解Ruby内部机制的读者,同时也为那些想要提升自己代码质量以及更有效地处理遗留代码的开发者提供了...
在Ruby编程语言中,元编程是一种强大的特性,它允许代码在运行时定义或修改自身的行为。"patch_def_ruby_Metaprogramming_Before_" 的标题暗示了我们将在讨论如何利用元编程技术来添加在方法之前的钩子,比如 `def_...
“Metaprogramming Ruby”这一标题明确地指出了本书的核心内容——通过元编程技术深入探索Ruby语言的独特魅力。元编程(Metaprogramming)是一种在程序运行时能够修改或控制其行为的技术,这使得Ruby成为了一种高度...
《Metaprogramming Ruby》是一本专注于Ruby编程语言元编程技术的书籍,由Paolo Perrotta撰写。元编程是一种编程范式,它允许在程序运行时修改或创建程序结构和行为。在Ruby中,元编程是其核心特性之一,使得代码能够...
Dig under the surface and explore Ruby's most advanced feature: a collection of techniques and tricks known as metaprogramming. In this book, you'll learn metaprogramming as an essential component of ...
《Metaprogramming Ruby(Second Edition)》是Ruby编程语言领域的一本经典著作,由Peter Eberhardt和Paolo Perrotta共同撰写。这本书详细介绍了如何利用Ruby的强大元编程特性来提升代码的灵活性、可扩展性和简洁性。...
Metaprogramming Ruby 2nd Edition – FreePdfBook
Ruby元编程是一种强大的编程技术,它允许程序员在运行时修改和扩展程序的行为。元编程在Ruby中被广泛使用,因为Ruby的语言设计鼓励动态性和灵活性。以下是一些关于Ruby元编程的关键知识点: 1. 单例类(Singleton ...
Metaprogramming Ruby – FreePdfBook
MetaProgramming in Ruby系列教程的中译版。 uby是动态的、魔幻而有趣的。而元编程(Metaprogramming)技术在Ruby中的应用也让...借此机会,我想借Satoshi Asakawa的本系列讲座,为大家展示一个绚丽的Ruby元编程世界。
Pragmatic.Metaprogramming.Ruby.Feb.2010.rar
ruby interpreter 原理探討 At first glance, learning how to ... using metaprogramming, Ruby programs can inspect and change themselves. Beneath this thin veneer of simplicity, Ruby is a very complex tool.
总之,《Server Metaprogramming Ruby-Pyton-Groovy-Haskell-Erlang.pdf》这本书不仅介绍了元编程的基本概念,还深入探讨了五种具有代表性的动态语言在服务器端元编程方面的应用,并通过《Beyond Java》一书提供了对...
进阶读者可以阅读《Programming Ruby》(又名"The Pickaxe Book”),这是Ruby的权威参考,或者《Metaprogramming Ruby》来探索Ruby的元编程特性。而对于Web开发,经典之作《Agile Web Development with Rails》是...
.NET Framework中的动态语言运行时(DLR)提供了一组支持动态语言(如Python、Ruby等)的API和服务,同时也允许在这些语言之间以及与C#等静态类型语言之间进行无缝互操作。 - **支持动态语言特性的框架**:DLR提供了...
Metaprogramming is one of Elixir's greatest features. Maybe you've played with the basics or written a few macros. Now you want to take it to the next level. This book is a guided series of ...