所以,我相信我理解純函數。類似於abs或sqrt的地方,輸出依賴於輸入並且沒有副作用。不過,我很困惑這種方法如何工作。C++/c#類中的純方法
如果我們將一個方法作爲一個帶有隱式參數的函數來看,那麼我會假定像下面那樣的方法確實是純的。
class Foo
{
int x;
[Pure] public int Bar() { return x * 2; }
}
這是一個正確的假設,該函數是純粹的嗎?如果read變量是readonly/const,它會有所作爲嗎?
如果調用者不能準確預測結果,那麼它不是純粹的。所以這不是純粹的。那麼爲什麼呼叫者會使用它?因爲它可能是一個複雜的操作,調用者不想實現它。換句話說,結果只能從輸入中推導出來,而沒有別的。 – CodingYoshi
爲什麼標記爲C++? –
@passerby因爲它是語言不可知的。所以它可以被標記任何東西。但是,爲什麼是這樣的:pehaps用戶想要這些語言的示例 – CodingYoshi