Ruby 中模块与方法查找机制详解
1. 模块的创建与使用基础
在 Ruby 里,模块是一种强大的工具,它可用于封装代码并在不同类中复用。接下来,我们会深入探讨模块的创建、使用及其实践应用。
1.1 Stacklike 模块的实现
Stacklike 模块借助数组来模拟栈的行为。以下是 Stacklike 模块的代码:
module Stacklike
def add_to_stack(obj)
@stack.push(obj)
end
def take_from_stack
@stack.pop
end
end
在这个模块中, add_to_stack 方法把对象添加到栈中, take_from_stack 方法从栈中移除对象。栈的底层由数组实现, push 和 pop 是数组类的实例方法。
1.2 将模块混入类
模块本身没有实例,若要创建具有模块行为的对象,需把模块混入类。以下是将 Stacklike 模块混入 Stack 类的示例:
require "stacklike"
class Stack
include Stacklike
end
通过 include 语句,Stack 类的实例就能展现 Stackl
超级会员免费看
订阅专栏 解锁全文

被折叠的 条评论
为什么被折叠?



