Rubyのメソッドの引数がHashの時、fetch使わんやつおる??
初期化の際の引数にハッシュを使う
「 | | 」を使った場合
def initialize(args) @id = args[:id] || 1 @name = args[:name] || "misomiso" end
↑これだと、falseとnilの区別ができねえじゃねえか!
「fetch」を使うと...
def initialize(args) @id = args.fetch(:id, 1) @name = args.fetch(:name, "misomiso") @flag = args.fetch(:flag, true) end
fetchでええやん
参考文献
オブジェクト指向設計実践ガイド ~Rubyでわかる 進化しつづける柔軟なアプリケーションの育て方 | Sandi Metz, 髙山泰基 | 工学 | Kindleストア | Amazon