Ich bin sehr neu in F#. Ich schrieb eine Funktion, die ein Array der Indizes der Teilzeichenfolge Übereinstimmungen im Ziel zurückgibt und seine ähnlich wie ich in C# schreiben.
Gibt es einen funktionelleren Weg, dieses Problem zu lösen, und kann es ohne die Verwendung veränderlicher Variablen gelöst werden?
let SubStringIndices (haystack:string) (needle:string) =
let mutable indices = System.Collections.Generic.List<int>()
let mutable index = haystack.IndexOf(needle)
while index >= 0 do
indices.Add(index)
index <- haystack.IndexOf(needle, index+1)
indices.ToArray()
printfn "%A" (SubStringIndices "abaabababaaab" "ab")
// prints [|0; 3; 5; 7; 11|]
Ich bin nicht auf der Suche nach einer Lösung, die bei jedem Index auf Teilstringübereinstimmung prüft.