F#は初めてです。 VS2008シェルとF#インタラクティブを使用しています。 「System.String.Split」を使用して文字列を分割しようとすると、「Split is not a static method」というエラーが表示されます
コード例:
let Count text =
let words = System.String.Split [' '] text
let nWords = words.Length
(nWords)
F#でsplitのようなStringメソッドを使用するにはどうすればよいですか?
それらをインスタンスメソッドとして呼び出します。
_let Count (text : string) =
let words = text.Split [|' '|]
let nWords = words.Length
(nWords)
_
(Splitはリストではなく配列を使用するため、_[| |]
_を使用する必要があることに注意してください。または、Joel Muellerのコメントに従って、Splitはparams配列を使用するため、区切り文字を個別の引数として渡すことができます(例:text.Split(' ', '\n')
))
関数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/