São unidades de medida única para F #? [fechadas]
-
01-07-2019 - |
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
.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
Nemerle teve Unidades verificada pelo compilador de medida, em 2006.
http://nemerle.org/forum.old /viewtopic.php?t=265&view=previous&sid=00f48f33fafd3d49cc6a92350b77d554
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.