通过一种或另一种方式,可以在大多数编程语言中实现从一个系统到另一个系统的单位和测量。但是,我们可以用任何编程语言表达“12.Pounds.ToKilograms()”吗?任何编程语言是否支持诸如“12.Pounds.ToKilograms()”之类的表达式?
0
A
回答
0
我不能说我见过这是一个有效的表达。 12必须被定义为一种类型。我们假设12是一个整数。一个整数类型只知道它是一个整数,而在大多数语言中,整数的函数/方法都是内置的。为了使它成为一个有效的表达式,您需要定义一个权重类型,并在该对象内定义转换方法或使用转换方法继承子类型。
0
你可以在Ruby中做它,因为它是语法糖。
其实有一个红宝石宝石 - alchemist - 你应该检查出来。 例如,你可以写: 10.miles.to.meters
1
不完全是在语法,但你可能想看看弗林克:https://frinklang.org
弗林克语法类似于谷歌计算器或Wolfram Alpha的,但不完全一样。鉴于Google和Wolfram Alpha使用in
关键字触发单位转换,Frink使用->
运算符。所以在弗林克,以下是有效的源代码:
// Calculate length of Wifi antenna:
lightspeed/(2.4GHz)/4 -> inches
正如我提到的,这个语法类似于谷歌。作为参考,Google语法中的相同计算是speed of light/2.4GHz/4 in inches
。 Frink早于均为谷歌计算器和Wolfram Alpha。在21世纪初,我第一次意识到了皱褶。
Frink是单元感知的。即使该单位只是“标量”(没有单位),frink中的数字也总是有单位。因此,要声明一个变量,它是12磅,你会怎么做:
var x = 12 pounds
要转换,你会怎么做:
x -> kg
或者你可以简单地写表达式:
12 pounds -> kg
1
在Smalltalk中,您可以表示为
12 pounds inKilograms
但是请注意,它是由您编写的消息pounds
和inKilograms
(也有类似的东西也有库)。但关键是上述表达式在Smalltalk中是完全有效的(即使这些消息不存在)。
相关问题
- 1. 所有语言是否支持任何常见的正则表达式语法?
- 2. 是否有任何支持语言的文本编辑器/ IDE?
- 3. C编程语言是否支持SQL语句
- 4. linux“as”汇编程序是否支持intel格式汇编语言?
- 5. 编程语言的音频支持
- 6. meego支持的编程语言
- 7. 支持XML文字的编程语言
- 8. OrientDb是否支持正则表达式?
- 9. 汇编语言支持ASP.net
- 10. C语言是否支持继承?
- 11. Eclipse不支持哪些编程语言?
- 12. 是否有支持便携式延续的快速语言?
- 13. 推荐内置WinXP语言支持UTF-8正则表达式
- 14. Java IntelliJ 13.1.4“此语言级别不支持Lambda表达式。”
- 15. 编程评估与Spring表达式语言豆表达
- 16. 如何检测浏览器是否支持语言?
- 17. 如何检测语言字体是否支持移动
- 18. Android多语言和少数语言支持语言不支持语言区域
- 19. 是否有任何费力的方式将脚本语言嵌入到支持Intellisense的.NET应用程序中?
- 20. D编程语言是否有任何游戏/图形引擎?
- 21. 是否有任何编程语言具有for-while循环?
- 22. 是否有任何编程语言从1开始计数?
- 23. 如何配置Xcode以编译不支持的语言,例如Fortran语言?
- 24. 是否有任何体面的脚本语言使用函数式编程?
- 25. 支持RTL语言
- 26. 多语言支持
- 27. 多语言支持
- 28. EditText语言支持?
- 29. Yocto语言支持
- 30. 函数式编程语言是否适合图形编程?