2009-01-29 6 views
0

Faisant suite à this question, il me semble encore être aux prises avec les frontières de ce qui est possible, même si je ne pense pas que je fais quoi que ce soit bord particulièrement saignant:F # Unités de mesure, des problèmes de généricité 2

type Vector2d = { X: float<'u>; Y: float<'u> } 

Me donne erreur FS0039: Le paramètre d'unité de mesure 'u' n'est pas défini.

Et

type Vector2d = { X: float<_>; Y: float<_> } 

Ça me donne erreur FS0191: les variables d'unité de mesure anonymes ne sont pas autorisés dans cette déclaration.

Est-ce le cas que les fonctions peuvent gérer des unités « génériques » de mesure, mais les types ne peuvent pas?

+0

Perspective: L'utilisation des unités _A ALL_ est « bleeding edge '. :) – Brian

Répondre

2
type Vector2d<[<Measure>]'u> = { X: float<'u>; Y: float<'u> } 

devrait faire l'affaire

Note: Ceci est exact à la 1.9.6.2 version CTP mais cette api est pas considéré comme stable

+0

f # vraiment vis la coloration syntaxique ne le fait pas :) – ShuggyCoUk

+0

Excellent, merci! – Benjol

+0

Une chance de regarder ma question 1? http://stackoverflow.com/questions/460766/f-units-of-measure-problems-with-genericity – Benjol

Questions connexes