我想编写一种方法来修剪字符串末尾的字符。这很简单:
class String
def trim(amount)
self[0..-(amount+1)]
end
end
my_string = "Hello"
my_string = my_string.trim(1) # => Hell
我宁愿这是一种就地方法。天真的方法,
class String
def trim(amount)
self[0..-(amount+1)]
end
def trim!(amount)
self = trim(amount)
end
end
抛出错误“无法更改 self 的值:self = trim(amount)”。
编写这种就地方法的正确方法是什么?我需要手动设置字符串的属性吗?如果是这样,我如何访问它们?