識別符號用於為數種語言物件指定名稱,並在稍後透過名稱參照這些物件。
這十一個命名空間可以透過上下文以及識別符號的大小寫來區分:識別符號的第一個字母是否為小寫(以下寫為 lowercase-ident)或大寫(寫為 capitalized-ident)。為此目的,底線被視為小寫字母。
|
另請參閱以下語言擴展:擴展索引運算子。
如上所示,前綴和中綴符號以及一些關鍵字可以作為值名稱使用,前提是它們寫在括號之間。大小寫規則總結在下表中。
命名空間 | 第一個字母的大小寫 |
值 | 小寫 |
建構子 | 大寫 |
標籤 | 小寫 |
多型變體標籤 | 大寫 |
例外 | 大寫 |
類型建構子 | 小寫 |
記錄欄位 | 小寫 |
類別 | 小寫 |
實例變數 | 小寫 |
方法 | 小寫 |
模組 | 大寫 |
模組類型 | 任意 |
關於多型變體標籤的注意事項:目前的實作除了接受大寫變體標籤外,也接受小寫變體標籤,但為了與未來 OCaml 版本的可攜性和相容性,我們建議您避免使用小寫變體標籤。
|
具名物件可以透過其名稱(遵循名稱的常用靜態作用域規則)或透過存取路徑 prefix . name 來參照,其中 prefix 指定一個模組,而 name 是在該模組中定義的物件的名稱。路徑的第一個組件,prefix,要不是一個簡單的模組名稱,就是一個存取路徑 name1 . name2 …,如果定義模組本身嵌套在其他模組內。若要參照類型建構子、模組類型或類別類型,prefix 也可能包含簡單的函式應用程式(如同上述語法類別 extended-module-path),如果定義模組是函式應用程式的結果。
標籤名稱、標籤、方法名稱和實例變數名稱不需要限定:前三者是全域標籤,而後者則為類別的本地變數。