回答

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 

但是請注意,它是由您編寫的消息poundsinKilograms(也有類似的東西也有庫)。但關鍵是上述表達式在Smalltalk中是完全有效的(即使這些消息不存在)。

相關問題