1

私は2つの配列aとを持っていますb。次のように書き直すことができa = a + bますsend

a = a.send(:+, b)

a += bこのようなものを使用して書き直す方法はありsendますか?

a.send(:+=, b)
4

2 に答える 2

3

+は演算子メソッドです。+=は単なる演算子であり、対応するメソッドはありません。の構文ショートカットですa = a + b:+=と一緒に使用することはできませんsend

于 2013-03-04T09:03:19.797 に答える
1

+=セルジオが言うようにそれを行うことはできませんが、で行うことができますconcat

a.send(:concat, b)

withは以前と同じオブジェクトを参照するのに対し、 withは新しく作成されたオブジェクトになるため、これは行う+=こととまったく同じではないことに注意してください。concata+=

于 2013-03-04T09:16:54.447 に答える