ライブラリ作成覚書(Ruby)
ちょっと考えてみた。デザインパターンっぽいのだけれど、何だろう。
module App class A def display=(st) puts st end def <<(st) puts st end def output(st) puts st end end def self.exec(&bk) A.new.instance_eval(&bk) end end App.exec do |x| x.display = "test1" x << "test2" output("test3") end
※追記
多少変更。self.exec
の中で instance_eval
を使うようにした。
instance_eval(&bk)
で、ブロックの中の self を変えることができる。(5/17)