我有一个任务要用c写一个值交换函数,我也不知道怎么用ruby写
在 Ruby 中类似
a = 1
b = 2
value_swap!(a,b)
puts a #=> 2
puts b #=> 1
这里的难点在于如何使用一个函数来改变主作用域中的值。
最佳答案
这是一个重大的 hack,但你可以尝试这样的事情:
def value_swap(a,b,parent_binding)
parent_binding.eval("#{a},#{b}=#{b},#{a}")
end
a=1
b=2
value_swap :a,:b,binding
puts a
puts b
关于ruby - 如何编写函数来更改 Ruby 主作用域中变量的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11499705/