在語言NIM,一個可以做以下的事情:什麼名字沒有這樣的語法有
let num = 5.add(3)
這將是相同的
let num = add(5,3)
所以,基本上你把之前的表達式點作爲函數的第一個參數。 我確定其他語言有這個功能,但沒有一個直接介入。
我想知道的是什麼名字這句法有
在語言NIM,一個可以做以下的事情:什麼名字沒有這樣的語法有
let num = 5.add(3)
這將是相同的
let num = add(5,3)
所以,基本上你把之前的表達式點作爲函數的第一個參數。 我確定其他語言有這個功能,但沒有一個直接介入。
我想知道的是什麼名字這句法有
The manual說,這是該method call syntax。它還提到dot operators。
在D lang中,此語法被稱爲Uniform Function Call Syntax (UFCS)。
TL; DR - 統一[功能]調用語法,或任何你喜歡的,因爲有在軟件工程的,沒有穩定的被廣泛接受的術語。
值得關注的是基於對編程語言的信息,不知怎的,實現此功能:
Unified Call Syntax
Stroustrup作爲更進一步的C++標準的一個可能的新功能。Unified Function Call Syntax
)。function notation
或通過'.' (dot) syntax
調用。
它看起來像面向對象的語法。大多數語言不會讓你像這樣來回切換,你必須根據功能的類型使用其中一種。 – Barmar
是的,它看起來像,但它不是。這個語法可以用於任何函數,而不僅僅是方法 – Dirk
我會說它只是使用「在類型定義中聲明的方法」(引用來自以下鏈接)。如果你創建了自己的行爲,它將在C#和VB中被稱爲[擴展方法](http://en.wikipedia.org/wiki/Extension_method)。 –