Pergunta

Eu estava lendo série blog de Andrew Kennedy em unidades de medida em F # e isso faz muito sentido em muitos casos. Existem outras línguas que têm esse sistema um?

Edit: Para ser mais claro, quero dizer as unidades flexíveis de sistema de medição de onde você pode definir seu próprio arbitrariamente

.
Foi útil?

Solução

O TI-89 contagem BASIC? Digite 54_kg * (_c^2) e ele vai te dar uma resposta em joules.

Além disso, não me lembro de nenhum idiomas que têm-lo embutido, mas qualquer linguagem com OO decente deve torná-lo simples para rolar o seu próprio. Que alguém significa outra coisa provavelmente já fez.

O Google confirma. Por exemplo, aqui está uma em Python . __repr__ poderia facilmente ser alterado para também selecionar o mais adequado derivado unidade, etc.

CPAN tem vários módulos para Perl: Física :: Unit , Data :: dimensões , Class :: medida , Math :: Unidades :: PhysicalValue , e um punhado de outros que irão converter, mas realmente não combinar valores com unidades.

Outras dicas

C ++ tem, na forma de boost :: unidades .

Eu não tenho certeza se isso realmente conta, mas o sistema RPL na minha calculadora HP-48 tem características semelhantes. Eu posso escrever 40_gal 5_l + e obter a resposta certa de 156.416 litros.

Eu acredito que eu vi que Fortress suportar isso, eu vou ver se eu posso encontrar um link.

Não consigo encontrar um link específico, mas a especificação da linguagem faz menção de que em um par de lugares. A especificação 1.0 linguagem também diz que as dimensões e unidades foram temporariamente retirado da especificação (junto com um montão de outras características) para corresponder-se com a implementação atual. É um trabalho em progresso, então eu acho que as coisas estão em fluxo.

F # é a primeira língua dominante para suportar esse recurso.

Há também uma especificação Java para as unidades em http://jcp.org/ en / JSR / detalhes? id = 275 e você já pode usá-lo a partir daqui http://jscience.org/

Nemerle tem algo muito melhor do que F #!

Você deve verificar esta: http://rsdn.ru/forum/ src / 1823225.flat.aspx # 1823225 .

É realmente grande. E você pode baixar aqui: http://rsdn.ru/File/27948/Oyster .Units.0.06.zip

Alguns exemplos:

def m3 = 1 g;
def m4 = Si.Mass(m1);

WriteLine($"Mass in SI: $m4, in CGS: $m3");

def x1 = Si.Area(1 cm * 10 m);

WriteLine($"Area of 1 cm * 10 m = $x1 m");

bem eu fiz biblioteca QuantitySystem especialmente para unidades em C #, no entanto não é o tempo de compilação verificação

mas eu tentei fazê-lo funcionar como eu queria

também suporta expansão para que você possa definir suas unidades únicas

http://QuantitySystem.CodePlex.com

Também pode diferenciar entre o torque ea :) [Isso foi importante para mim]

a abordagem da biblioteca é de dimensão para unidades tudo que eu vi até agora só unidades abordagem.

Eu tenho certeza que Ada tem.

Eu tenho certeza que você seria capaz de fazer isso com a maioria das linguagens dinâmicas (javascript, Python, Ruby) por com cuidado monkey-patching alguns dos base- Aulas. Você pode entrar em problemas que quando se trabalha com medidas imperiais.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top