К основному контенту

F# - красота исходного кода и практичность



(* read http-link line by line and print to console *)
open System
open System.Net
open System.IO
open System.Text

let mutable enc = Encoding.GetEncoding(1251)

let http(url: string) = seq {
    let req = HttpWebRequest.CreateHttp(url)
    let res = req.GetResponse()
    use stream = new StreamReader(res.GetResponseStream(), enc)
    while not stream.EndOfStream do
        let line = stream.ReadLine()
        if not (isNull line) then yield line
}

let print(url: string) = for line in http(url) do printfn "%s" line

print("http://www.amic.ru")

Комментарии

Популярные сообщения из этого блога

Будда не принимает форм

Будда не практикует дзен. Смотрите не видя,  слушайте не слыша,  знайте не зная.

Кирилица в Arch Linux

После вчерашних обновлений в консоли Arch Linux при выборе русской локали вместо букв печатаются белые квадратики. Очевидно, что по какой-то причине не загружается прописанный в rc.conf шрифт. Временное лекарство от этого: выполнить команду setfont cyr-sun16 . Еще у меня в момент начальной загрузки появляется рябь на экране как от сильных электромагнитных помех в ЭЛТ, хотя у меня ЖК. Может быть это как-то связано.

Сортировка массивов в groovy

Любой массив в java и groovy можно отсортировать статическим методом: Arrays.sort(c); причем это будет очень быстро сто тысяч элементов типа int сортируются за 1 секунду на celeron M 1,8 Mg. Если это массив объектов можно использовать перегруженный метод Arrays.sort(c,comporator);