Ruby end.submit

pacingwang · 2013年04月10日 · 最后由 kgen 回复于 2013年04月10日 · 2285 次阅读

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

就易读多了。

需要 登录 后方可回复, 如果你还没有账号请 注册新账号