Ruby end.submit

pacingwang · April 10, 2013 · Last by kgen replied at April 10, 2013 · 2285 hits

require 'rubygems' require 'mechanize'

a = Mechanize.new { |agent| agent.user_agent_alias = 'Mac Safari' }

a.get('http://google.com/') do |page| search_result = page.form_with(:name => 'f') do |search| search.q = 'Hello world' end.submit

search_result.links.each do |link| puts link.text puts link.page end end

do ... end.submit 是什么语法

do ... end 是一个 block,这个 block 返回一个值,submit 是这个返回值的方法

恩,我试试有什么方法可以分开来写

用 { |search| ... }.submit

代替 do |search| ... end.submit

就易读多了。

You need to Sign in before reply, if you don't have an account, please Sign up first.