rulu ruru

post Ako v Prahe?

January 24th, 2009

Filed under: programming — starenka @ 20:51
Tags: , , , , ,

Na DPP byl bagrem vyštrachán pěkný seznam čidel, moniturujících teplotu vzduchu, silnice a rychlost větru na místech v Praze (abych to uved’ na pravou míru - bagr hledal ceny jízdenek a našel čidla. To, že ceny jízdenek mimo P0 nenašel je nasnadě…). Stránka se mi celkem zamlouvá. Ne, že bych nějak dal na teploty, ale v souvislosti s trochou volnýho času, kterýho se mi teď dostává, jsem se rozhod’ konečně zkusit první “Hello čidlo!” v Ruby. První kontakt mě docela znechutil, protože jak se zdá Ruby < 1.9.1 trpí dětskejma nemocema spojenýma s délkou řetězce v unicode. Za pomoci deepje a Googlu mi trvalo půl hodiny, než se mi to podařilo vyřešit. Zlatý prciny (PHP,Python).

#!/usr/bin/ruby

$KCODE="u"
require ‘uri’
require ‘net/http’
require ‘jcode’

data = "http://www.dpp.cz/flash/data/meteo.xml"
xml = Net::HTTP.get_response(URI.parse(data).host, URI.parse(data).path)
if xml.code == ‘200′ then
    matches = xml.body.gsub(‘0.0′,‘—’).
        scan(%r{.*?<name>(.*?)</name><air>(.*?)</air><road>(.*?)</road><wind>(.*?)</wind>}mi)
    puts "\nčidlo\t\tvzduch\tsilnice\tvítr\n[kde]\t\t[°C]\t[°C]\t[m/s]\n————————————-"
    for place in matches
        padd = place[0].jsize > 7?"\t":"\t\t"
        puts place[0]+padd+place[1]+"\t"+place[2]+"\t"+place[3]
    end
else puts ‘!!ERR: Failed to fetch ‘+data
end

No Comments

No comments yet.

RSS feed for comments on this post.

Sorry, the comment form is closed at this time.

ruldrurd
© starenka 2oo7, cute alien monster by noizcut, original theme by Laurentiu Piron - customized by starenka | proudly powered by WordPress