表示式簡介

表示式是 Julia 中特定型別的物件。你可以將表示式視為表示尚未評估(即執行)的 Julia 程式碼。然後有特定的功能和操作,如 eval(),它將評估表示式。

例如,我們可以編寫一個指令碼或輸入直譯器:julia> 1 + 1 2

建立表示式的一種方法是使用:() 語法。例如:

julia> MyExpression = :(1+1)
:(1 + 1)
julia> typeof(MyExpression)
Expr

我們現在有一個 Expr 型別的物件。剛剛形成,它什麼都不做 - 它只是像任何其他物體一樣坐著,直到它被採取行動。在這種情況下,我們可以使用 eval() 函式來評估該表示式:

julia> eval(MyExpression)
2

因此,我們看到以下兩個是等價的:

1+1
eval(:(1+1))

如果我們只想找到 1 + 1 等於的東西,為什麼我們想要通過 eval(:(1+1)) 中更復雜的語法?基本原因是我們可以在程式碼中的某一點定義表示式,稍後可能會對其進行修改,然後在稍後的時間點對其進行評估。這可能會為 Julia 程式設計師開啟強大的新功能。表示式是 Julia 中超程式設計的關鍵組成部分。