githubの誰かのリポジトリをみてたら、外からhashとかにアクセスさせるとき
def [](key) @hash[key] end
みたいなことしてて、すごいかっこいい。
演算子もメソッドだからこういうことやれるらしい。
これを例えば.NETとかでやろうとすると
// こんな感じっぽいことして public class Test { public Dictionary<string, string> Dic = new Dictionary<string, string>(); } // こんな感じっぽいことする Test test = new Test(); test.Dic["test"] = "value"
入れたり出したりしてみるテスト。
class HashTest def initialize() @hash = {} end def [](key) @hash[key] end def []=(key, value) @hash[key] = value end end test = Hash.new p a: test[:test] p b: test[:test] = "test" p c: test[:test] $ ruby hash.rb {:a=>nil} {:b=>"test"} {:c=>"test"}
勉強になる。