我在寒假期间给自己做了很少的项目,并且我正在尝试编写一些我可以用于桌面的geektool脚本。我为ruby编写了这个,它在终端中运行,但是当我在textmate中运行时,我得到一个主机出错了,当我把它放在geektool中时它就不会运行了。
#!/usr/bin/ruby
require 'open-uri'
require 'nokogiri'
def fetch_xml()
open("http://weather.yahooapis.com/forecastrss?w=2424766&u=f")
end
def parse_xml()
source = Nokogiri::XML(fetch_xml)
location = source.xpath("//yweather:location")
condition = source.xpath("//item//yweather:condition")
forecast = source.xpath("//item//yweather:forecast")
[location[0]['city'], location[0]['region'], condition[0]['temp'].to_i, condition[0]['text'], forecast[0]['high'], forecast[0]['low']]
end
def display_weather()
result = parse_xml()
print "#{result}\n"
end
display_weather
它在终端运行并给我正确的输出:[“Houston”,“TX”,64,“Cloudy”,“69”,“63”]
但正如我之前提到的,它不会在textmate中运行,并且geektool中没有任何内容。提前感谢您的帮助。