Ruby do-block和RestClient

时间:2013-04-22 18:26:23

标签: ruby

我是Ruby的新手。

我注意到如果我这样做(假定已经定义了“请求”):

RestClient::Request.execute(request) do |response|
  print response
end

然后回复是空的。但是如果我做的话

response = RestClient::Request.execute(request)
print response

然后回应有所作为。

第二个有效的原因是什么,第一个没有?

1 个答案:

答案 0 :(得分:5)

RestClient::Request.execute的{​​{3}}未显示需要阻止:

def self.execute(args)
        new(args).execute
end

它只返回在RestClient的匿名实例上调用execute返回的值。