11.3.1.1 C# 和 F# 中的提前計算,

來源:互聯網
上載者:User

11.3.1.1 C# 和 F# 中的提前計算,

11.3.1.1 C# 和 F# 中的提前計算

 

在大多數主流的語言中,指定計算順序的規則很簡單:程式進行函數調用時,先計算所有的參數值,然後再執行函數。我們用前面的例子來示範:

 

TestAndCalculate(Calculate(10));

 

在所有的主流語言中,程式都會執行Calculate(10),然後再把結果作為參數值傳遞給TestAndCalculate。正如我們在前面的樣本中已經看到的,如果函數 TestAndCalculate 不需要這個參數值,就很不幸了;在這種情況下,我們就無故地浪費了一些CPU 週期!這種策略稱為提前計算策略(eager evaluation strategy)。

提前計算的好處是,很容易理解程式是如何執行的。在C# 和F# 中,這是很重要的,因為我們需要知道副作用(比如I / O和使用者介面操縱)啟動並執行順序;而在Haskell 中,這是由函數的參數值和返回值控制的,因此,對於啟動並執行順序,我們並不需要考慮太更多。

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.