我将如何在 ruby 中实现一个函数,如下所示?
change_me! (val)
更新:
我打算做的是:
def change_me! (val)
val = val.chop while val.end_with? '#' or val.end_with? '/'
end
这刚刚结束......
change_me! 'test#///' => "test#///"
最佳答案
您的想法是错误的。虽然可以在 Ruby 中执行此操作,但它会过于复杂。正确的做法是:
val.change_me!
当然,这取决于您要更改的类别。关键是,按照惯例,带有“!”的方法影响调用它们的类实例。 所以……
class Changeable
def initialize var
@var = var
end
def change_me! change=1
@var += change
end
end
a = Changeable.new 5 # => New object "Changeable", value 5
a.change_me! 6 # => @var = 7
a.change_me! # => @var = 8
希望这对您有所帮助..
关于Ruby:如何更改函数调用中参数的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2266413/