Der folgende Code war der Versuch einer rekursiven Blase Art in F #, wo ich den Fehler empfangenDieser Ausdruck wurde erwartet, Typ ‚Einheit‘ haben, aber hier hat Typ ‚‘ a []‘
"This expression was expected to have type 'unit' but here has type ''a []'"
für die mittleren drei Linien:
let swap i j (arr : 'a []) =
let tmp = arr.[i]
arr.[i] <- arr.[j]
arr.[j] <- tmp
let rec recursiveBubbleSort i j (sequence : 'a []) =
if i = sequence.Length then sequence //error
elif j = sequence.Length then recursiveBubbleSort (i+1) 0 sequence //error
elif sequence.[i] > sequence.[j] then swap i j sequence //error
recursiveBubbleSort i (j+1) sequence
Das ist wirklich verwirrend mich, da alle Ressourcen, die ich gefunden habe nicht ausreichend erklärt oder impliziert, warum dies tatsächlich auftritt. Jede Hilfe würde sehr geschätzt werden.
Ausgezeichnet - Sie Legende! Vielen Dank! – Luke