我想通过引用函数来传递变量。 这样,在这个函数中,变量可以被修改,新值也可以在程序的一部分中使用
e.g。
在soft_1.rb
func=Remote::CheckPart.new() # function defined in check.rb
warning=""
out=func.check(warning)
puts "New Warning #{warning}!"
在check.rb
def check(warning)
warning << "WARNING DUE TO SOME EVENT!"
end
答案 0 :(得分:3)
你不能通过引用来传递ruby。
另一方面,ruby中的String
不是不可变的,因此使用<<
实际上会更改您传递的字符串 - 因此您的代码实际上可以按照您的需要运行到:
class Remote::CheckPart
def check(warning)
warning << "WARNING DUE TO SOME EVENT!"
end
end
func=Remote::CheckPart.new()
warning=""
out=func.check(warning)
puts "New Warning #{warning}!"
实际输出:
New Warning WARNING DUE TO SOME EVENT!!