我该如何解决这个问题? 我试过了
Net::HTTP.new(@site).head('/').kind_of? Net::HTTPOK
但我收到了这个:
错误:在`kind_of?'中:需要类或模块(TypeError)
我认为我的代码有问题,你能看一下吗?我知道它非常混乱和非常糟糕,我是一名编程学生,我正在学习。如果您有任何改进的想法,请告诉我们!
此外,还有一些内容与其中包含的内容相混淆。出于某种原因,当我尝试结束所有defs时,我得到意外的结束错误。
这是我在上下文中的代码:
def begindownload
require 'net/http'
puts "Enter the URL of the site that you want to rip images from (use www.*website*.com/folder/file.html or other extension format):"
while @site = gets.chomp
puts "Querying " + @site
if Net::HTTP.new(@site).head('/').kind_of? Net::HTTPOK == true
puts "Site is online!"
else
puts "Site is offline. Try again."
end
end
end
答案 0 :(得分:6)
在您的代码中,您使用的是:
if Net::HTTP.new(@site).head('/').kind_of? Net::HTTPOK == true
首先评估==
,导致Net::HTTPOK == true
被评估为false
。然后声明的其余部分变为:
if Net::HTTP.new(@site).head('/').kind_of? false
导致您TypeError
。
在执行== true
声明时,您无需检查if
。如果if
之后的语句评估为true
,则会评估if
。检查布尔值== true
是否被视为不良格式。
答案 1 :(得分:0)
您是否尝试过.instance_of?