J'utilise Unquote et je n'ai vu aucun ensemble approximatif. J'ai donc décidé d'en écrire un.Généraliser un nouvel opérateur sur plusieurs types
let inline (=~=) x y = abs x-y < 1.E-10
Cependant l'opérateur ne soit pas mis en correspondance sur, dites listes
let test = [1;2] =~= [1;2] //---> error
Est-il possible de déclarer cet opérateur à couler comme (=)
?
Ou faudrait-il définir un nouveau traits comme « StructuralEquality-ishness»?
Est-il préférable de définir un nouvel opérateur avec, disons, http://code.google.com/p/fsharp-typeclasses/?
Oui, mais vous ne pouvez pas modifier le type de liste - il est déjà défini. Vous pouvez vérifier (avec ':?') Si le type est une liste, et si c'est le cas, utilisez votre propre définition - mais il n'y a pas de classe de type dans F #. –