Arrayのto_sがバージョンで実装が違うよー
前回の内容に認識ミスがあったので、訂正!
#-------------------------------1.8.x
a = "ab"
p "a.unpack('C*').to_s=" + a.unpack('C*').to_s
#=>"a=9798"
#-------------------------------1.9.x
a = "ab"
p "a.unpack('C*').to_s="+a.unpack('C*').to_s
#=>"a=["9798"]"
なんか配列になった!!!!!
文字から文字コードを取得しよう - スキマハコ
配列になったわけではなくって、1.8と1.9で配列のto_sの実装が変更になったが正しい。
そもそも、unpackやpackはテンプレートに沿った変換を行った配列を返すものなので…。
↓1.8
to_s -> String
Array#join($,) と同じです。
[1, 2, 3, 4].to_s # => "1234"
class Array
↓1.9
to_s -> String
inspect -> String
自身の情報を人間に読みやすい文字列にして返します。
[1, 2, 3, 4].to_s # => "[1, 2, 3, 4]"
[1, 2, 3, 4].inspect # => "[1, 2, 3, 4]"
class Array
地味にこういうのきついなあ…。