операция оператор |> берет две функции и применяет результат первой ко второй
благодаря каррированию writeFile превращается из функции с двумя аргументами в функцию с одним аргументом и ее можно подвать на вход |>
В F# большинство встроенных функций для работы со списками, например, сначала бедур дополнительные аргументы а потом сам список. В результате из них легко каррированием получаются функции обработки с одним аргуметом «список»
Или последовательность.
Например seq.map берет функцию и список и последовательность, применяет функию ко всем аргументам последовательности и возвращает последовательность результатов.
тогда Seq.map (fun x -> x + 1) вернет функцию, которя к заданной последовательности прибавит единицу.
И такие функции удобно выстраивать в цепочкит типа
[1; 2; 3] |> List.filter (fun x -> x % 2 = 0) |> List.map (fun x-> x + 1)
а можно на КПК/коммуникаторе набирать почти сразу после покупки, допустим, в метро. Я когда вел учет складывал чеки в отдельный кармашек. а в транспорте набивал. Потом синхронизировал и получал сводную таблицу в Excel
Вообще гугль по «parser generator php» выдает ненулевой результат
dir('example string') и увидете список методов строки
я, например, до сих пор в PowerShell набираю help *service* вместо F1
Но с IDE, конечно, удобнее
блокнот хорош только тем, что есть везде
2) почему Add int -> int -> int должен быть членом Vector
3) как будет работать вывод типов
Кстати, благодяря тому же каррированию, вместо (fun x -> x + 1) можно писать ((+) 1)
например, там можно делать композицию функций:
readFile «c:\test.txt» |> addToEachLine «1» |> writeFile «c:\test2.txt»
операция оператор |> берет две функции и применяет результат первой ко второй
благодаря каррированию writeFile превращается из функции с двумя аргументами в функцию с одним аргументом и ее можно подвать на вход |>
В F# большинство встроенных функций для работы со списками, например, сначала бедур дополнительные аргументы а потом сам список. В результате из них легко каррированием получаются функции обработки с одним аргуметом «список»
Или последовательность.
Например seq.map берет функцию и список и последовательность, применяет функию ко всем аргументам последовательности и возвращает последовательность результатов.
тогда Seq.map (fun x -> x + 1) вернет функцию, которя к заданной последовательности прибавит единицу.
И такие функции удобно выстраивать в цепочкит типа
[1; 2; 3] |> List.filter (fun x -> x % 2 = 0) |> List.map (fun x-> x + 1)
Например есть Финансы для пальмы и SpbFinance
вот этнерпрайзные фишки
www.microsoft.com/windows/enterprise/products/windows-7/features.aspx