通過一種或另一種方式,可以在大多數編程語言中實現從一個系統到另一個系統的單位和測量。但是,我們可以用任何編程語言表達「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. 函數式編程語言是否適合圖形編程?