5 使用區域性函式值

2021-08-25 19:09:27 字數 687 閱讀 1555

5 使用區域性函式值

本章介紹

■ 認識值的角色

■ 用差別聯合表示值

■ 使用泛型別和型別推斷

這一章討論值(values)。它是乙個術語,用於很多不同的程式語言,因此,我們應該首先定義我們的意思。當我們討論函式程式設計的概念時,將函式程式描述有輸入,並返回結果的計算。簡單來說,值既可以用作

輸入,也可以接收作為結果。這意味著,在你實現的計算的內部,所使用的一切都是值。

當編寫乙個執行計算的函式,我們可以把所有輸入作為輸入引數,但如果函式需要返回有多個值的結果呢?在 c# 中,我們可以使用 out 引數,或定義乙個新的類,把這些值組織為單個物件。兩種方法似乎不一致,因為,在這種情況下,處理輸入和輸出,是很不同的。我們需要的是一種組合多個值到單個值的方法(例如,字串型別的項名稱和整數型別的數量),而這個值既可以是輸入的引數值,也可以是結果。在第三章,我們簡單地談到了元組,可以用於此目的,這裡,我們來更詳細地看看元組。

另乙個例子是,當計算可能取選項作為輸入。例如,乙個搜尋函式,可以取專案名或 id。在 c# 中,我們可能會寫乙個函式,取兩個引數,並將乙個引數值設定為無效值(id 為 -1 或名字為 null)。對這一問題,有乙個更優雅的解決方案。我們將向你展示如何將值合併為選項值,可以是幾個選項之一,但不是所有的選項。

在函式語言中,函式是另一種值(非常重要)。值是理解函式程式設計的基礎,這就是為什麼我們要以此為起點。

5 數值計算

romberg 求定積分 輸入 積分區間 a,b 被積函式 f x,y,z 輸出 積分結果 f x,y,z 示例 double f0 double x,double l,double t double integral double a,double b,double f double x,doub...

python區域性函式

前邊文章我們介紹的函式都是定義在全域性環境中的,都是全域性函式。python還支援在函式體內定義函式,稱為區域性函式。這篇文章著重說下區域性函式內的變數也會遮蔽 hide def fn name 雞小西 def local print name unboundlocalerror local var...

最小函式值

給n個函式。fi x ai x 2 bi x ci 給定這些ai bi和ci,請求出所有函式的所有函式值中最小的m個。3 10 4 5 3 3 4 5 1 7 1 9 12 12 19 25 29 31 44 45 54 維護乙個小根堆,裡面的值為,按照要求每次輸出堆頂,並將堆頂函式中的x加1再下調...