Ce serait génial de pouvoir convertir automatiquement des unités de mesure, qui ne sont que des multiplicateurs de même dimension. (kg -> g, cm -> mm, km -> m). D'après ce que j'ai lu en ligne:Conversion automatique des unités de mesure en F # (kilomètres -> mètres)
https://docs.microsoft.com/en-us/dotnet/fsharp/language-reference/units-of-measure https://fsharpforfunandprofit.com/posts/units-of-measure/
Je ne semble pas possible d'avoir ce travail sans fonctions d'aide. De mon point de vue, ces conversions polluent les calculs. Je veux quelque chose comme ceci pour fonctionner:
[<Measure>] type m
[<Measure>] type km = 1000 * m
Le dessous ne fonctionnerait pas non plus.
let distance = 1000 * 10**3 <m>
Est-ce réalisable d'une autre manière?
le problème vient quand vous « supposer » que tout est dans la même unité, mais à la fin il se trouve ne pas être le cas ... Les unités de mesure sont grandes, elles devraient être utilisées plus souvent – s952163
Non, je veux que mon code soit lu en prose. F # est bon dans ce domaine. Dans ce problème particulier, je veux déclarer les entrées et les calculs sans conversions triviales inutiles. Comme je le ferais sur un bout de papier. – Pasho
sur un morceau de papier, vous ne feriez pas cette chose à distance de votre question. Vous feriez de la vitesse = distance/temps et cela vous donne toujours la vitesse, mais dans différentes unités basées sur les unités de distance et de vitesse. Pour ma compréhension, F # fera exactement la même chose. Alors quel est ton problème? –