F #, Split String и .Net методы
Я новичок в F #. Я использую оболочку VS2008 и F # interactive.
Я пытаюсь разбить строку, используя "System.String.Split", но затем я получаю ошибку:
"Сплит не является статическим методом"
Пример кода
:
let Count text =
let words = System.String.Split [' '] text
let nWords = words.Length
(nWords)
Как использовать методы String, например split в F #?
Ответы
Ответ 1
Вы называете их методами экземпляра:
let Count (text : string) =
let words = text.Split [|' '|]
let nWords = words.Length
(nWords)
(Обратите внимание, что вам нужно использовать [| |]
, потому что Split принимает массив, а не список, или, по словам Joel Mueller, поскольку Split принимает массив params, вы можете просто передать разделители как отдельные аргументы (например, text.Split(' ', '\n')
).)
Ответ 2
Теперь функция String.split определена в F # Power Pack. Вы должны добавить
#r "FSharp.PowerPack.dll";;
#r "FSharp.PowerPack.Compatibility.dll";;
См. исправления для эксперта F #: http://www.expert-fsharp.com/Updates/Expert-FSharp-Errata-Jan-27-2009.pdf
Получить FSharp.PowerPack.dll здесь: http://fsharppowerpack.codeplex.com/