私はしばらくの間Rubyを書いていますが、自分のスタイルを改善する方法を常に探しています。
私は、配列をインスタンス化して追加する、特に短く簡潔な方法に慣れてきました。
ruby-1.9.3-p194 :001 > (a ||= []) << 1
=> [1]
この特定の構文は、配列と組み合わせて使用した場合にのみ有効であるように見えます。他のタイプでこれを実行しようとすると、構文エラーが返されるためです。
ruby-1.9.3-p194 :002 > (i ||= 0) += 1
SyntaxError: (irb):2: syntax error, unexpected tOP_ASGN, expecting $end
(i ||= 0) += 1
^
from /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
また、文字列についても、以前の実験ではこれが機能しないことをほぼ期待していましたが。
ruby-1.9.3-p194 :003 > (s ||= '') += 'TEST'
SyntaxError: (irb):3: syntax error, unexpected tOP_ASGN, expecting $end
(s ||= '') += 'TEST'
^
from /usr/local/rvm/rubies/ruby-1.9.3-p194/bin/irb:16:in `<main>'
この構文形式を使用する場合、配列を他の型と区別するのはここで何ですか?