# 定义策略接口
class TextFormatter
def format(text)
raise NotImplementedError, "子类必须实现 format 方法"
end
end
# 加粗策略
class BoldFormatter < TextFormatter
def format(text)
"*#{text}*"
end
end
# 加下划线策略
class UnderlineFormatter < TextFormatter
def format(text)
"_#{text}_"
end
end
# 文本处理类
class TextProcessor
def initialize(formatter)
@formatter = formatter
end
def process(text)
@formatter.format(text)
end
end
# 使用示例
bold_text = TextProcessor.new(BoldFormatter.new).process("这是加粗文本")
underline_text = TextProcessor.new(UnderlineFormatter.new).process("这是加下划线文本")
puts bold_text
puts underline_text