日期:2014-05-16 浏览次数:20334 次
在Ruby中可以使用Open Class的方法给已有的类添加新的方法,这样可以方便我们扩展新的功能。如rails这样popular的framework都会有core_ext用来添加ruby本身库的功能。虽然可能会出现Monkey Patch的问题,但这样仍然很好的丰富了我们写程序的手法。考虑一个String类,如果我的业务逻辑是经常会取出String对象的第一个字符并且返回大写形式。我就可以打开String类。直接添加一个这样的方法就行。如下:
class String def capital self[0].to_s.upcase end end puts "kiwi".capital
String.prototype.capital = function() { return this[0].toString().toUpperCase(); } console.log("kiwi".capital());