[教學] 中小學視障學生城市設計入門課程參考教材:什麼是函數? - 討論區

[教學] 中小學視障學生城市設計入門課程參考教材:什麼是函數?

文章瀏覽次數 232 文章回覆數 0

coscell

coscell圖像(預設)

2021-03-08 22:31:18

From:180.176.111.5

函數 (function) 是每個城市語言都有的元素,扮演非常重要的角色。
他是一段事先寫好的程式碼,為了通用性和能重複使用,
於是封裝成函數的形式方便程式寫作者能隨時呼叫使用,
公用就是節省程式寫作時間、提高程式開發效率。

如果把開發軟體比喻為設計製造汽車或電視機等商品,
實際上並不需要從零開始從頭打造,汽車需要輪胎、電視需要顯示面板,
這些零件並不需要自家生產,完全可以購買別家已經生產的誠品回來組裝。
函數就相當於這些現成的零件。

呼叫函數的語法如下:
函數名稱([參數][, ...])

  • 函數名稱是一串英文,就像上一節的 MsgBox, 從名稱可以看出該函數的功能或用途,命名有一定的規則,以後會詳述。
  • 參數是要傳遞給函數本體的程式碼處理的資料,用 [ ] 包起來表示可有可無,依照函數定義決定。
  • ... 表示參數可以有很多個,中間用逗號 , 隔開,同樣也是依照定義可有可無。

相同的零件會有不同的規格,例如輪胎的輪圈直徑;面板的顯示尺寸和解析度等等。
函數的參數就等同於零件的規格。

那函數本體的程式碼在哪裡呢?

像 MsgBox() 這種把程式碼封裝在轉意程式中所以看不到的屬於內部函數。 AutoIt 的內部函數約有四百個。
另外還有以外部檔案存在,需要十可以額外載入的外部函數。 AutoIt 附帶安裝的外部函數有三千多個,可以到網路上找到更多。
最後就是程式寫作者(就是你啦)自己定義的自訂函數。

接著就來看看 MsgBox() 函數的規格定義
(請參照上一節閱讀 AutoIt 說明的路徑打開函數說明):
MsgBox ( flag, "title", "text" [, timeout = 0 [, hwnd]] )

有沒有注意到其實他的參數有五個兒我們一直都只用了三個,
因為後面兩個有 [ ] 包起來表示可有可無。

  • timeout = 0 這是訊息視窗維持顯示的時間,不指定就是 0 也就是一直顯示直到按了 ENTER 或 ESC。如果要指定就填入秒數,現在就動手試試看。
  • hwnd 指定所屬的上層視窗,我們還沒學到所以先不管它,反正預設就是現在看到的情況。

關於函數還有其他細節,將來用到在說。