gpt4 book ai didi

ruby - 如何编写函数来更改 Ruby 主作用域中变量的值

转载 作者:太空宇宙 更新时间:2023-11-03 18:25:39 24 4
gpt4 key购买 nike

我有一个任务要用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/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com