閱讀英文

共用方式為


Let

Let 運算式

Let 運算式可用來從變數的中繼計算擷取值。

let-expression:
      let variable-list in expression
variable-list:
      variable
      variable
, variable-list
variable:
      variable-name
= 運算式
variable-name:
      identifier

下列範例顯示要計算並儲存在變數 xyz 中,然後用於後續計算 x + y + z 的中繼結果:

let     x = 1 + 1,
        y = 2 + 2,
        z = y + 1 
in
        x + y + z

此運算式的結果為:

11  // (1 + 1) + (2 + 2) + (2 + 2 + 1)

評估「Let 運算式」中的運算式時會發生下列情況:

  • 變數清單中運算式會定義新的範圍 (其中包含「變數清單」結果中的識別項),且在評估「變數清單」結果中的運算式時必須存在。 「變數清單」中的運算式可能會彼此參考。

  • 您必須先評估「變數清單」中的運算式,再評估「Let 運算式」中的運算式。

  • 除非存取「變數清單」中的運算式,否則不得進行評估。

  • 評估「Let 運算式」中運算式期間所引發的錯誤會進行傳播。

Let 運算式可視為隱含記錄運算式上的語法糖 (Syntactic Sugar)。 下列運算式相當於上述範例:

[     x = 1 + 1,
      y = 2 + 2,
      z = y + 1,
      result = x + y + z 
][result]