gpt4 book ai didi

ruby-on-rails - Ruby Mechanize.get(url) 的两种不同语法 - 有什么好处?

转载 作者:数据小太阳 更新时间:2023-10-29 07:56:53 25 4
gpt4 key购买 nike

这些语法有什么区别?第一个比第二个有什么好处吗?

agent = Mechanize.new

# first
agent.get(url) do |page|
work
end

#second
page = agent.get(url)

我应该在何时以及为什么使用哪一个?

最佳答案

两种调用get方法的方式最终做的是一样的事情。您可以按照自己喜欢的方式使用它。它允许您传递 block 的第一种方式可能有助于编写更简洁和/或可读的代码。您可以选择适合您的需要。举个例子;

agent = Mechanize.new

agent.get(url) do |page|
item = page.forms.first do |form|
form.fieldname = "foo"
end.submit
# do something with item
end

读起来比

page = agent.get(url)
form = page.forms.first
form.fieldname = "foo"
item = agent.submit(form).body
#do something with item

同样的情况也适用于 Mechanize 初始化。我更喜欢

@agent = Mechanize.new { |agent|
agent.user_agent_alias = 'Mac Safari'
agent.follow_meta_refresh = true
agent.redirect_ok = true
}

@agent = Mechanize.new
@agent.user_agent_alias = 'Mac Safari'
@agent.follow_meta_refresh = true
@agent.redirect_ok = true

关于ruby-on-rails - Ruby Mechanize.get(url) 的两种不同语法 - 有什么好处?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11670112/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com