Ich versuche, eine polymorphe Funktion zu schreiben, die je nach Art des Parameters etwas anders machen muss. Gibt es eine Möglichkeit, eine Musterübereinstimmung mit dem Typ des Objekts unter Verwendung der eingebauten Typen zu machen? Ich denke an etwas in dieser Richtung:OCaml Mustervergleich auf Builttin-Typen
let to_string v =
match v with
| string -> v
| int -> string_of_int v
| _ -> ""
, aber dies scheint nicht ein gültiges OCaml-Programm.
Ich habe this question gesehen, aber das beantwortet meine Frage auch nicht ganz. Ich würde lieber verwenden, um den Standard, eingebaute Typen zu verwenden, anstatt neue Typen dafür zu konstruieren (obwohl ich das tun kann, wenn das der einzige Weg ist).
:(- das ist, wovor ich Angst hatte. Na ja, ich schätze mein Programm wird nicht ganz so schön aussehen. –
Warum versuchst du so etwas zu tun? Es gibt wahrscheinlich einen besseren Weg. – nlucaroni
Ich dachte das Ich wäre in der Lage, eine polymorphe Funktion auf diese Weise zu schreiben, mit Überschreibungen für die verschiedenen Typen, die ich brauche, aber denke darüber nach, werde wahrscheinlich wahrscheinlich trotzdem Varianten verwenden müssen, da ich am Ende auch einen Lexing-Schritt machen werde. –