エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
記事へのコメント2件
- 注目コメント
- 新着コメント
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
rubyでpythonのdefaultdictっぽいものを実現する - 射撃しつつ前転 改
Pythonのハッシュテーブル(Pythonではdictと言いますね)には、初期値が設定できる亜種としてdefaultdi... Pythonのハッシュテーブル(Pythonではdictと言いますね)には、初期値が設定できる亜種としてdefaultdictというものがある。Rubyの場合、Hashクラスには初期値が設定できるが、初期値としては整数か文字列、シンボルぐらいしか使えない。初期値として配列とかハッシュテーブルを使えないのである。 そこで、Pythonのdefaultdictっぽいものを作ってみた。以下にコードを示す。 class DefaultHash < Hash def initialize(init) @init = init end def [](k) v = super k if v v else self[k] = @init.clone end end end a = [1,2,3,4,5,4,3] h = DefaultHash.new(Array.new) a.each{|k| h[k].
2013/02/11 リンク