我发现很多资源如何为String添加“普通”方法。
即Add custom method to string object
但是我还没有找到任何关于如何在String类中添加带有感叹号的“破坏性”方法的信息。
有人可以将此方法重写为“破坏性的”吗?
def nextval
case self
when "A"
return "B"
when "B"
return "C"
# etc
end
end
[这个例子非常简单,我想为String添加更复杂的方法]
我希望获得类似sub
和sub!
方法的内容。
答案 0 :(得分:4)
只需使用String提供的破坏性方法。
def nextval!
case self
when "A"
replace("B")
when "B"
replace("C")
# etc
end
end
答案 1 :(得分:1)
有这样的方法 - String#next!
a = "foo"
a.next! # => "fop"
puts a # => "fop"