ケアレスミス

カンマに注意

hs = {}
hs["1"] = "11"
hs["2"] = "22",
hs["3"] = "33"

hsは、{"1"=>"11", "2"=>"22", "3"=>"33"}を期待しますが、こんなふうに文末に余計なカンマがあったりすると、{"1"=>"11", "2"=>["22", "33"], "3"=>"33"}になってしまいます。Ruby恐ぇー!

なぜ?

上の例では 3行目に余計なカンマがあるがゆえに、こういう解釈になってしまうんですね。

hs["2"] = ["22", (hs["3"] = "33")]

なぜ余計なカンマが残ってしまったかというと、

hs["1"],hs["2"],hs["3"] = "11","22","33"

最初はこんなふうにまとめて書いていたのですが、だんだん複雑になってきたため、1行にまとめるのが辛くなって各行に分離したと。そのとき、カンマを取り忘れたということです。
文字列を連結するときなど、複数行に分けて書けるのはすごく助かる(気持ちがいい)ので好きなんですが、気をつけないとということでした。

s = "nannya,kannya," +
    "sonnde,hoide"