まつもと ゆきひろです In message "Re: [ruby-list:47806] Re: [].join.encoding # => #<Encoding:ASCII-8BIT>" on Tue, 1 Feb 2011 08:27:45 +0900, Nobuyoshi Nakada <nobu / ruby-lang.org> writes: |At Tue, 1 Feb 2011 07:08:41 +0900, |Yusuke ENDOH wrote in [ruby-list:47805]: |> String#gsub! などの推論から、(少なくとも String の) 破壊的な |> メソッドは、変更が起きなかった時に nil を返しそうです。 メソッド名の末尾に!がつくメソッドは変更が起きなかったときに nilを返すというルールになっています※。force_encodingは破壊的 ではありますが、!はつかないので対象外ですね。 ※ Array#reverse! は変更がなくても nil を返しませんが、これ は逆順にはしたが、結果として同じであったと解釈します。 |> force_encoding の結果をそのまま変数に代入するのは本当に推奨 |> されるスタイルなんでしょうか。 | |selfかnilを返すforce_encoding!を追加するとか? 本当に必要であれば。