表示式簡介
表示式是 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 中超程式設計的關鍵組成部分。