2008-09-20 13 views

Respuesta

10

¿TI-89 BASIC cuenta? Ingrese 54_kg * (_c^2) y le dará una respuesta en julios.

Aparte de eso, no puedo recordar ningún idioma que lo tenga incorporado, pero cualquier lenguaje con OO decente debería hacer que sea sencillo hacer el suyo propio. Lo que significa que otra persona probablemente ya lo hizo.

Google confirma. Por ejemplo, here's one in Python. __repr__ podría ser fácilmente modificado seleccionar también la unidad derivada más apropiado, etc.

CPAN tiene varios módulos para Perl: Physics::Unit, Data::Dimensions, Class::Measure, Math::Units::PhysicalValue, y un puñado de otros que convertirá pero realmente no combinar los valores con unidades.

3

No estoy seguro de si esto realmente cuenta, pero el sistema RPL en mi calculadora HP-48 tiene características similares. Puedo escribir 40_gal 5_l + y obtener la respuesta correcta de 156.416 litros.

+0

me refiero al sistema por el cual se puede definir unidades arbitrarias de medición, pero eso es interesante, no obstante. –

+1

No tengo mi manual para mi '48 a la mano, pero creo que también te permite hacer esto. –

3

Creo que vi que Fortress es compatible con esto, voy a ver si puedo encontrar un enlace.

No encuentro un enlace específico, pero la especificación del idioma lo menciona en un par de lugares. La especificación de lenguaje 1.0 también dice que las dimensiones y unidades se eliminaron temporalmente de la especificación (junto con un montón de otras características) para coincidir con la implementación actual. Es un trabajo en progreso, así que creo que las cosas están cambiando.

-1

Estoy bastante seguro de que Ada lo tiene.

+0

No creo que Ada tenga esta característica directamente, pero ciertamente puede declarar tipos basados ​​en otro tipo (es decir, entero o flotante) pero son tipos incompatibles en lo que respecta al compilador. Entonces no puedes agregar metros y pies directamente sin convertir uno de ellos. –

+0

Hay una biblioteca para ello: "Unidades de medida para Ada", http://www.dmitry-kazakov.de/ada/units.htm –

2

F # es el primer idioma principal que admite esta función.

0

Estoy seguro de que usted podría hacer esto con la mayoría de los lenguajes dinámicos (javascript, python, ruby) por cuidadosamente parche de mono algunas de las clases base. Sin embargo, puede tener problemas al trabajar con mediciones imperiales.

6

C++ lo tiene, en la forma de boost::units.

+1

También hay [PhysUnits-CT-Cpp11] (https: // github. com/martinmoene/PhysUnits-CT-Cpp11), una pequeña biblioteca de solo cabecera C++ 11, C++ 14 para el análisis dimensional en tiempo de compilación y la manipulación y conversión unidad/cantidad. Más simple que Boost.Units, solo depende de la biblioteca estándar de C++, solo SI, potencias integrales de dimensiones –

1

así lo hizo biblioteca QuantitySystem especialmente para unidades en C#, sin embargo, no es tiempo de compilación comprobar

pero he tratado de hacer que se ejecute como quería

también es compatible con la expansión para que pueda definir su unidades únicas

http://QuantitySystem.CodePlex.com

también se puede diferenciar entre el par y trabajo :) [Esto era importante para mí]

el enfoque de la biblioteca es de Dimensión a las unidades todo lo que he visto hasta ahora las unidades solo se acercan.

Cuestiones relacionadas