タグ

hashに関するpoppenのブックマーク (3)

  • PassiveRecord,ハッシュをActiveRecordのインタフェースで使う - cameraLady

    PassiveRecord を使ってみた. PassiveRecord は,ハッシュを ActiveRecord っぽく扱えるようにしてくれる.要 ActiveRecord. # コマンドラインから gem でインストール $ sudo gem install passiverecord # 使うときは require require 'passive_record' 今回動かした環境では ActiveRecord と PassiveRecord を両方 require したら Gem::Exception: can't activate activerecord (>= 0, = 1.15.3), already activated activerecord-2.0.2.9216] とエラーが出たので, PassiveRecord だけ require するようにした. アプリの中で,ほ

    PassiveRecord,ハッシュをActiveRecordのインタフェースで使う - cameraLady
    poppen
    poppen 2008/07/13
    これはいい
  • Hash#except and Hash#only - Hello, world! - s21g

    Hash#sliceが欲しい をさらに拡張。 指定したキーを取り除いたHashを返すHash#exceptを追加。 併せて、既存のHash#sliceはHash#onlyに改名してみました。 hash_ext.rb 1  class Hash 2  def only(*args) 3  args = *args if args[0].is_a? Array 4  args.inject({}){|hash, key| hash[key] = self[key]; hash} 5  end 6 7  def except(*args) 8  args = *args if args[0].is_a? Array 9  args.inject(dup){|hash, key| hash.delete(key); hash} 10  end 11  end

  • HashをスリムにするHash#compact - Hello, world! - s21g

    Hash#only, Hash#except に続いて、Hashを便利にするシリーズです。 今回は、Array#compactのように、Hashから値が空っぽのキーを取り除く Hash#compactを実装してみました。 hash_ext.rb 1  class Hash 2  def compact!(method = :nil?) 3  each do |key, value| 4  value.compact! method if value.respond_to? :compact! 5  delete key if value.send method 6  end 7  end 8 9  def compact(method = :nil?) 10  dup.compact! method 11  end 12  end 1  >> {'foo' => [], :bar => n

  • 1