Cómo hacer F# unidades de medida de trabajo?
-
09-06-2019 - |
Pregunta
Alguien ha tenido la oportunidad de adentrarse en la manera en F# Unidades de Medida trabajo?Es justo el tipo basada en la argucia, o hay tipos CLR escondido debajo de la que podría potencialmente ser utilizado a partir de otros .net languages?Funciona para cualquier información numérica unidad, o está limitado a los valores de punto flotante (que es lo que todos los ejemplos de uso)?
Solución
De acuerdo a un respuesta en la siguiente relacionados con el blog, que es solamente un mecanismo estático en el compilador de F#.Así que no hay CLR representación de las unidades de datos.
No es del todo claro si se trabaja actualmente con los no-float tipos, pero desde la perspectiva del tipo de sistema es teóricamente posible.
Otros consejos
La mejor (y creo oficial) lugar para averiguar sobre esto es sobre Andrew Kennedy blog.
Aquí están las (actual) de los mensajes relevantes.
- Las unidades de Medida en F#:La Primera Parte, La Introducción De Unidades De
- Las unidades de Medida en F#:Parte Dos, Conversiones De Unidades
- Las unidades de Medida en F#:Parte Tres, Genérica De Las Unidades De
- Las unidades de Medida en F#:La Parte Cuatro Tipos Parametrizados
Como dije en el post que su contestadora se refiere, esto definitivamente es algo que NO se PUEDE hacer en C# (aunque me gustaría).