札幌がどれくらい寒いかをプログラムする

Google API から天気の取得 - みずぴー日記
を読んで、「Pythonは短くて良いなあ。」
と思ったのだけど、多分F#でも同じくらい短くなるだろう、ということでやってみました。

open System.Net
open System.Xml
open System.Xml.Linq

let inline (=>) (elements : seq<XElement>) = XName.Get >> elements.Elements

let xml = XDocument.Load "http://www.google.com/ig/api?weather=Sapporo"
let current_conditions = xml.Elements () => "weather" => "current_conditions"

[<System.STAThreadAttribute>]
do
    [ for e in ["condition"; "temp_c"; "humidity"; "wind_condition"] ->
        (current_conditions => e |> Seq.head).Attribute (XName.Get "data") ]
    |> List.iter (fun x -> printfn "%s" x.Value)

Snow
[]-1[]
Humidity: 76%
Wind: NW at 13 mph
続行するには何かキーを押してください . . .


春はどこ〜(´・ω・`)