任务:在Ruby中,我必须重新打开String类,并添加一个调用upcase方法的新功能my_new_method。
"abc".my_new_method
返回
"ABC"
我已经尝试过这个代码,但测试显示参数数量错误(0代表1)
# Re-open String class
class String
# Add the my_new_method method.
def my_new_method(value)
value.upcase
end
end
测试:
Test.expect "abc".my_new_method == "ABC"
我知道我不必输入参数(值),但我不知道如何获取以前编写的字符串。
请尽力帮助我。提前谢谢!
只要小心,扩展核心类是可以的,尤其是在重写核心方法时。
记住,每当您在实例方法内部时,self
总是引用实例:
def my_special_upcase
self.upcase + '!'
end
所以self
指的是有问题的字符串。