使用块在 ruby 中创建隐式方法

With blocks to make implicit methods in ruby

伙计们,我有很多这样的代码

Thread.new do
    puts "thread start"
    browser = Capybara::Session.new(:poltergeist)
    browser.visit "http://www.google.com/"
    browser.click "Search"
end

我正在努力做到不必指定浏览器。 每次我调用它的方法。 (使其隐含)

Thread.new do
    with browser do
        puts "thread start"
        browser = Capybara::Session.new(:poltergeist)
        browser.visit "http://www.google.com/"
        browser.click "Search"
    end
end

我怎样才能让它发挥作用?

我认为 visual basic 在 msdn docs

中有类似的东西

考虑一下:

Thread.new do
  puts "thread start"

  Capybara::Session.new(:poltergeist).instance_eval do
    visit "http://www.google.com/"
    click "Search"
  end
end