3
我寫了下面的代碼:如果IF條件變爲true,我該如何跳過迭代,然後轉到第一行do .. end?
require 'net/http'
require 'uri'
require 'IPAddr'
require 'timeout'
require 'Resolv'
require 'open-uri'
#puts "Origin IP:\n\n"
#originip = gets()
(IPAddr.new("209.85.175.120")..IPAddr.new("209.85.175.150")).each do |address|
uri = URI("http://#{address.to_s}")
puts "#{uri}"
http = Net::HTTP.new(uri.host, uri.port)
puts "#{http}"
Net::HTTP.start(uri.host, uri.port) do |http|
request = Net::HTTP::Get.new uri.request_uri
response = http.request request
if response.code == "301" || response.code == "400" then
end
#request.initialize_http_header({"Origin" => "#{originip}"})
end
是否有可能去在我if
條件
if response.code == "301" || response.code == "400" then
# condition
end
在上面的代碼變成真正的線uri = URI("http://#{address.to_s}")
?如果我的條件成立,我怎樣才能進入下一個IP地址並跳過當前的IP地址?
是否有可能在Ruby中執行類似於標籤和goto
的語句?
沒有,想跳過當前迭代,如果我得到響應,按我的,如果條件並進入下一個讓我不得到超時錯誤,如果在給定範圍內的IP一個響應不正確,我可以去下一個IP去執行所需的東西 – 2012-02-21 16:58:03
好的。 'next'跳過當前的迭代,所以你可以使用它。 – 2012-02-21 17:41:53