Argument Array(数组参数)
1 | def m(*args) |
Around Alias(环绕别名)
1 | class String |
Blank Slate(白板)
1 | #移除一个对象的所有方法,以便把它们转换成幽灵方法。 |
Class Extension(类扩展)
1 | #通过向类的eigenclass中混入模块来定义类方法。 |
Class Extension Mixin(类扩展混入)
1 | #使一个模块可以通过钩子方法扩展它的包含者。 |
Class Instance Variable(类实例变量)
1 | #在一个Class对象中的实例变量中存储类级别的状态。 |
Class Macro(类宏)
1 | #在类定义中使用一个类方法。 |
Clean Room(洁净室)
1 | #使用对象作为执行块的上下文环境。 |
Code Processor(代码处理器)
1 | #处理从外部获得的字符串代码。 |
Context Probe(上下文指针)
1 | #执行块来获取对象上下文的信息 |
Deferred Evaluation(延迟加载)
1 | #在proc或lambda中存储一段代码及其上下文,用于以后执行。 |
Dynamic Dispatch(动态派发)
1 | #在运行时决定调用哪个方法。 |
Dynamic Method(动态方法)
1 | #在运行时才决定如何定义一个方法。 |
Dynamic Proxy(动态代理)
1 | #把不能对应某个方法名的消息转发给另外一个对象。 |
Flat Scope(扁平作用域)
1 | #使用闭包在两个作用域之间共享变量。 |
Ghost Method(幽灵方法)
1 | #相应一个没有关联方法的消息。 |
Hook Method(钩子方法)
1 | #通过覆写某个特殊方法来截取对象的模型事件。 |
Kernel Method(内核方法)
1 | #在Kernel模块中定义一个方法,使之对所有对象都可用。 |
Lazy Instance Variable(惰性实例变量)
1 | #当第一次访问一个实例变量时才对之进行初始化。 |
Mimic Method(拟态方法)
1 | #把一个方法伪装成另外一种语言构件。 |
Monkey Patch(猴子补丁)
1 | #修改已有类的特性。 |
Named Arguments(有名参数)
1 | #把方法参数收集到一个哈希表中,以便通过名字访问。 |
Namespace(命名空间)
1 | #在一个模块中定义常量,以防命名冲突。 |
Nil Guard(空指针保护)
1 | #用“或”操作符覆写一个空引用。 |
Object Extension(对象扩展)
1 | #通过给一个对象的eigenclass混入模块来定义单件方法。 |
Open Class(打开类)
1 | #修改已有的类。 |
Pattern Dispatch(模式派发)
1 | #根据名字来选择需要调用的方法。 |
Sandbox(沙箱)
1 | #在一个安全的环境中执行未授信的代码。 |
Scope Gate(作用域门)
1 | #用class、module或def关键字来隔离作用域 |
Self Yield
1 | #把self 传给当前类 |
Shared Scope(共享作用域)
1 | #在同一个扁平作用域的多个上下文中共享变量。 |
Singleton Method(单件方法)
1 | #在一个对象上定义一个方法。 |
String of Code(代码字符串)
1 | #执行一段表示Ruby代码的字符串。 |
Symbol to Proc(符号到Proc)
1 | #把一个符号转换为调用单个方法的代码块 |