Ruby设计模式:模板方法:定义一个操作中的算法的骨架 而将一些步骤的实现延迟到子类中 模板方法使得之类可以不改变算法的结构既可重定义该算法的某些特定步骤。#%()用来定义单行字符串 --- 包含“ 并且有字符串插值 class Report def output; puts "#{report_start}#{report_body}#{report_end}"; end def report_body %(\nbody\n) end end class HtmlReport < Report def report_start %(<html>) end def report_end %(</html>) end end class TextReport < Report def report_start %(=start=) end def report_end %(=end=) end end TextReport.new.output HtmlReport.new.output AI代码助手复制代码
结果:
=start=
body
=end=
<html>
body
</html>
亿速云「云服务器」,即开即用、新一代英特尔至强铂金CPU、三副本存储NVMe SSD云盘,价格低至29元/月。点击查看>>
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。