面试题答案
一键面试思路
- 在Ruby中,模块(Module)是一个命名空间,可以包含方法、常量等。
- 元编程允许在运行时修改类和模块的结构。这里我们使用
Module#define_method
方法来动态为已有的模块添加实例方法。 - 对于字符串反转,Ruby字符串类本身提供了
reverse
方法来实现。
代码实现
# 假设已有模块
module ExistingModule
end
# 在运行时动态添加实例方法
ExistingModule.define_method(:reverse_string) do |str|
str.reverse
end
# 使用新添加的方法
module_instance = ExistingModule.new
result = module_instance.reverse_string('hello')
puts result # 输出 'olleh'