Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有两个数组a和b. 我可以a = a + b使用sendas重写
a
b
a = a + b
send
a = a.send(:+, b)
有没有办法a += b使用类似的send东西重写?
a += b
a.send(:+=, b)
+是运算符和方法。+=只是一个操作符,没有对应的方法。它是a = a + b. 你不能使用:+=with send。
+
+=
:+=
你不能+=像 Sergio 说的那样做,但你可以用concat.
concat
a.send(:concat, b)
请注意,这与执行操作并不完全相同,因为+=with将引用与以前相同的对象,而 with将是新创建的对象。concata+=