Angenommen, wir möchten Wert kleiner einfügen. Es wird Node (insert x left, k, right)
gehen Ich verstehe nicht, wie wir insert x left
haben können, wenn Funktion einfügen als nur ein Argument, der Schlüssel erklärt wird. Wie kann man links auch einfügen Funktion?Binary Search Tree einfügen Funktion in OCaml
type 'a bst_t =
| Leaf
| Node of 'a bst_t * 'a * 'a bst_t
let rec insert x = function
| Leaf -> Node (Leaf, x, Leaf)
| Node (left, k, right) ->
if x < k then Node (insert x left, k, right)
else Node (left, k, insert x right)
Bedeutet das, dass ich tatsächlich eine beliebige Anzahl von Argumenten übergeben könnte? –
Nein, die Funktion nimmt genau zwei Argumente. (Sehen Sie sich die entsprechende Form an, die Argumente sind explizit.) –
_ohne den Parameter zu nennen_ - vielleicht möchten Sie es für einen Anfänger einfacher machen, aber das tut weh. Ich würde sagen: "Nennen Sie den einzelnen Parameter oder starten Sie den Mustervergleich auf ihm", wenn ich nicht über den Mustervergleich links vom Gleichheitszeichen sprechen möchte. –