用。實現
許多語言都有一個 with 語句,允許程式設計師省略方法呼叫的接收者。
with 可以使用 instance_eval 在 Ruby 中輕鬆模擬 :
def with(object, &block)
object.instance_eval &block
end
with 方法可用於在物件上無縫執行方法:
hash = Hash.new
with hash do
store :key, :value
has_key? :key # => true
values # => [:value]
end