連想配列の要素をhash[hoge]でなくhash.hogeみたいにアクセスしたくなったので、method_missingを使ってみた。こんなやり方でいいのかは知らない。そして取得はできるけど、要素の追加と変更ができない。うーん
class Hash def method_missing(name, *args) return self[name] end end h = {a: "bbb", c: "ccc"} puts h.a
要素の追加と書き換えもできるようになりました
class Hash def method_missing(name, *args) if args.size > 0 self[name.to_s().sub('=', '').to_sym()] = args[0] else return self[name.to_sym()] end end end h = {a: "bbb", c: "ccc"} h.a = "ddd" h.b = "d-kami" puts h.a puts h.b
OpenStructというものを教えてもらいました。それでいいんじゃね?状態です