Ruby中的基本URL开启工具

时间:2014-03-12 22:28:25

标签: ruby loops url

我正在尝试创建一个简单的ruby脚本,通过简单搜索数字1-40来打开Bing中的一堆URL,但是当我在终端中运行时,我得到:

“未定义的方法”<' for nil:NilClass(NoMethodError)“

#!/usr/bin/ruby

num = 0
target = 40

while start < target do
   open("http://www.bing.com/search?q=" + $num)
   num += 1
end

(对不起,如果这是一个简单的错误,这是我的第一个ruby程序。)

更新:** 好的,谢谢你抓住它!

现在它给了我这个错误:

`+':无法将Fixnum转换为String(TypeError)

我如何合并这两个?是否有某种类型的解析器,如Java?


谢谢Arup和Mischa!

1 个答案:

答案 0 :(得分:1)

只需执行以下操作即可修复代码:

while $num < $target do
   open("http://www.bing.com/search?q=#{$num}")
   $num += 1
end

您没有定义变量$start的任何位置。我认为你应该使用$num。我建议仅为此目的使用局部变量,例如numtarget。不需要全局变量。

open("http://www.bing.com/search?q=" + $num)也不会起作用。在您尝试使用字符串 concat 时。使用#to_s将数字转换为字符串,或使用字符串插值,如下所示。

没有全局变量写为:

while num < target do
   open("http://www.bing.com/search?q=#{num}") # better
   # or write as open( "http://www.bing.com/search?q=" + num.to_s )
   num += 1
end