度量单位是F#所独有的吗?
我正在阅读安德鲁·肯尼迪(Andrew Kennedy)的博客文章系列,其中涉及Fand的测量单位,这在很多情况下都非常有意义。还有其他语言有这种系统吗?
编辑:更清楚地说,我的意思是灵活的度量单位制,我们可以在其中任意定义自己的度量单位。
解决方案
我不确定这是否真的有用,但是HP-48计算器上的`RPL'系统确实具有类似的功能。我可以写成" 40_gal 5_l +",并得到156.416升的正确答案。
我相信我看到Fortress支持这一点,然后看看是否可以找到链接。
我找不到特定的链接,但是语言规范在几个地方提到了它。 1.0语言规范还指出,尺寸和单位是从规范中暂时删除的(以及其他功能的全部内容),以与当前实现相匹配。这是一个正在进行的工作,所以我想事情在不断变化。
我很确定Ada拥有它。
TI-89 BASIC是否计数?输入54_kg *(_c ^ 2)
,它将以焦耳为单位给出答案。
除此之外,我不记得有任何内置的语言,但是任何具有不错的OO的语言都应该使滚动自己的语言变得简单。这意味着可能有人已经这样做了。
Google确认。例如,这是Python中的一个。可以很容易地修改__repr__,以选择最合适的派生单位等。
CPAN为Perl提供了几个模块:Physics :: Unit,Data :: Dimensions,Class :: Measure,Math :: Units :: PhysicalValue,以及少数几个将转换但不会真正将值与单位组合的模块。
Fis是第一个支持此功能的主流语言。
http://jcp.org/en/jsr/detail?id=275上还有单元的Java规范,我们可以在http://jscience.org/上使用它。
Nemerle在2006年通过了编译器检查的计量单位。
http://nemerle.org
http://nemerle.org/forum.old/viewtopic.php?t=265&view=previous&sid=00f48f33fafd3d49cc6a92350b77d554
我相信我们可以通过仔细修补一些基类来使用大多数动态语言(javascript,python,ruby)来做到这一点。但是,当使用英制测量时,我们可能会遇到问题。
C ++以boost :: units的形式提供了它。
好吧,我专门为C#中的单位制作了QuantitySystem库,但是它没有编译时检查
但我尝试使其按需运行
还支持扩展,因此我们可以定义自己的唯一单位
http://QuantitySystem.CodePlex.com
也可以区分扭矩和工作:) [这对我很重要]
库的方法是从维度到单位
到现在为止,我所看到的一切仅以单位为单位。