.net - rusia - ¿Cómo funcionan las unidades de medida F#?
unidades de medida en rusia (2)
Según una respuesta en la siguiente publicación de blog relacionada, son un mecanismo puramente estático en el compilador de F #. Entonces, no hay representación CLR de los datos de las unidades.
No está del todo claro si actualmente funciona con tipos no flotantes, pero desde la perspectiva del sistema de tipos es teóricamente posible.
¿Alguien ha tenido la oportunidad de investigar cómo funcionan las Unidades de medida F # ? ¿Es solo trapacería basada en tipos, o hay tipos CLR escondidos debajo que podrían (potencialmente) ser utilizados desde otros lenguajes .net? ¿Funcionará para cualquier unidad numérica, o está limitada a valores de punto flotante (que es lo que usan todos los ejemplos)?
El mejor lugar (y creo que oficial) para averiguar sobre esto es en el blog de Andrew Kennedy.
Aquí están las publicaciones relevantes (actuales).
- Unidades de medida en F #: primera parte, unidades de presentación
- Unidades de medida en F #: Parte dos, conversiones de unidades
- Unidades de medida en F #: Parte tres, Unidades genéricas
- Unidades de medida en F #: Parte cuatro, tipos parametrizados
Como dije en la publicación a la que se refiere su contestador, definitivamente esto es algo que NO PUEDE hacer en C # (aunque desearía que pudiera hacerlo).