タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

hashに関するftnkのブックマーク (1)

  • Route 477 - Ruby 1.9.2のリリースプランが発表 (7月末リリース予定)

    ■ [ruby] Hashのデフォルト値にHashを設定しようとしてはまった話 h = {} ary.each do |x, y, z| h[x] ||= {} h[x][y] = z end をもっと短くしようとして、 h = Hash.new{ {} } ary.each do |x, y, z| h[x][y] = z end としたら上手く動かない。あれっ? デフォルト値が{}じゃなくて数値の場合、例えば h = Hash.new{ 0 } ary.each do |x| h[x] += 1 end みたいのはちゃんと動くわけです。上のとどう違う? h[x][y] = z はどういう動作になるか考えてみよう。 hにxというキーがある場合: h[x]というハッシュに、(y, z)のペアを保存。 hにxというキーがない場合: ブロックが呼ばれて、その値が返る。返り値であるハッシュに、(

    Route 477 - Ruby 1.9.2のリリースプランが発表 (7月末リリース予定)
    ftnk
    ftnk 2010/03/19
  • 1