Ruby:使用Object.send分配变量

前端之家收集整理的这篇文章主要介绍了Ruby:使用Object.send分配变量前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
有没有办法做这样的事情?
a = Struct.new(:c).new(1)
b = Struct.new(:c).new(2)

a.send(:c)
=> 1

b.send(:c)
=> 2

a.send(:c) = b.send(:c)

最后一行导致错误

Syntax error,unexpected '=',expecting $end
a.send(:c) = b.send(:c)
            ^

解决方法

a.send(:c=,b.send(:c))

foo.bar = baz不是调用方法栏后跟一个赋值 – 它是一个调用方法bar =.所以你需要告诉send来调用方法.

原文链接:https://www.f2er.com/ruby/272661.html

猜你在找的Ruby相关文章