Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: starenka 24 Ledna 2009, 20:27:55

Název: [blbustka] Teploty vzduchu/silnice a rychlost vetru po Praze [ruby]
Přispěvatel: starenka 24 Ledna 2009, 20:27:55
Vsichni kolem me par let hajpujou s RoR/Merb a Ruby vubec a tak jsem dneska neodolal a splacal prvni skript. Ukazuje teploty a vitr na ruznejch mistech Prahy.

Kód: [Vybrat]
#!/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

a vysledek vypada priblizne takhle:
Kód: [Vybrat]
čidlo           vzduch  silnice vítr
[kde]           [°C]    [°C]    [m/s]
-------------------------------------
Barrandov       1.6     4.5     4.7
Bulhar          4.5     6.3     6.1
Spořilov        3.0     3.3     3.4
Uhříněves       2.4     2.1     0.9
Zličín          2.1     0.4     ---
SAT-J           2.9     3.0     4.0
SAT-S           3.2     4.8     3.4
Kyje            3.4     2.7     0.6
Cínovecká       3.3     2.1     0.2
Lahovice        1.1     1.3     0.1
Evropská        2.5     2.7     1.0
Novopacká       3.3     3.3     0.3
Vídeňská        1.9     2.2     0.1
Mitas           3.8     5.5     1.1
Vysočanská      3.4     2.7     0.3
Kamýcká         1.3     1.3     6.4
Slivenec        1.9     2.7     1.7
Běchovice       1.7     1.0     ---
Čimice          3.0     1.5     ---
Krejcárek       3.9     3.0     0.4
Libuš           ---     1.8     ---
Vypich          1.7     ---     ---
Opatov          1.7     ---     ---
Trója           ---     20.5    ---
Modřany         1.47    2.7     ---
Jeremiášova     1.84    0.8     ---
Čimická         3.55    0.2     ---
Černý Most      ---     ---     ---
Holešovice      2.4     ---     ---
Radotín         0.4     ---     ---

Zatim to beru skepticky. Spravnu dylku stringu v unicodu jsem za pomoci sbehleho kamarada a guglu resil 30(!) minut. Kdepak je ta deklarovana elegance? Ze by porad v Pythonu, kde staci len(u'ýžřýžř')? Nebo snad nedejboze PHP s mb_strlen()? Fuj, Ruby. Styd se!  ::)
Název: Re: [blbustka] Teploty vzduchu/silnice a rychlost vetru po Praze [ruby]
Přispěvatel: nettezzaumana 24 Ledna 2009, 21:44:16
Wou babizno...

ad.x) don't use pooh code tag before quote one .. Code tag use self-important people and gnome users only
Název: Re: [blbustka] Teploty vzduchu/silnice a rychlost vetru po Praze [ruby]
Přispěvatel: starenka 24 Ledna 2009, 22:01:04
pooh code. boze, doufam, ze to nema co do cineni s docekalem... :)
Název: Re: [blbustka] Teploty vzduchu/silnice a rychlost vetru po Praze [ruby]
Přispěvatel: nettezzaumana 25 Ledna 2009, 15:32:51
pooh code. boze, doufam, ze to nema co do cineni s docekalem... :)
.. ne, ma to co docineni s tim, ze na mem ajfounu se mi code tag zobrazuje zpatne (nenabizi rolovatka) ;)