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
-
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.
#!/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:
č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! ::)
-
Wou babizno...
ad.x) don't use pooh code tag before quote one .. Code tag use self-important people and gnome users only
-
pooh code. boze, doufam, ze to nema co do cineni s docekalem... :)
-
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) ;)