巨集是什麼-什麼是巨集

來源:果殼範文吧 5.54K

計算機科學裡的巨集(Macro),是一種批量處理的稱謂。以下是本站小編整理的關於巨集的相關內容,歡迎閱讀和參考!

巨集是什麼-什麼是巨集

巨集是什麼_什麼是巨集

所謂巨集,就是一些命令組織在一起,作為一個單獨命令完成一個特定任務。Microsoft Word中對巨集定義為:“巨集就是能組織到一起作為一獨立的命令使用的一系列word命令,它能使日常工作變得更容易”。Word使用巨集語言Visual Basic將巨集作為一系列指令來編寫。

計算機科學裡的巨集是一種抽象的,根據一系列預定義的規則替換一定的文字模式。Excel辦公軟體自動集成了“VBA”高階程式語言,用此語言編制出的程式就叫“巨集”。使用“VBA”需要有一定的程式設計基礎,並且還會耗費大量的時間,因此,絕大多數的使用者僅使用了Excel的一般製表功能,很少使用到“VBA”。

直譯器或編譯器在遇到巨集時會自動進行這一模式替換。對於編譯語言,巨集展開在編譯時發生,進行巨集展的工具常被稱為巨集展開器。巨集這一術語也常常被用於許多類似的環境中,它們是源自巨集展開的概念,這包括鍵盤巨集和巨集語言。絕大多數情況下,“巨集”這個詞的使用暗示著將小命令或動作轉化為一系列指令。

巨集的用途在於自動化頻繁使用的序列或者是獲得一種更強大的抽象能力--但這常常是一回事。

計算機語言如C或組合語言有簡單的巨集系統,由編譯器或彙編器的前處理器實現。C的巨集前處理器的工作只是簡單的文字搜尋和替換,使用附加的文字處理語言如M4,C 程式設計師可以獲得更精巧的巨集。

Lisp類語言如Common Lisp和Scheme有更精巧的巨集系統: 巨集的行為如同是函式對自身程式文字的變形,並且可以應用全部語言來表達這種變形。一個C巨集可以定義一段語法的替換,然而一個Lisp的巨集卻可以控制一節程式碼的計算。獲得了控制程式碼的執行順序(見惰性計算和非限制函式)的能力,使得新建立的語法結構與語言內建的語法結構不可區分。例如,一種Lisp 方言有 cond 而沒有if ,就可以使用巨集由前者定義後者。Lisp 語法的`去部主要擴充套件,比如面向物件的CLOS 系統,可以由巨集來定義。

拓展閱讀:巨集的典型應用

加速日常編輯和格式設定 組合多個命令 使對話方塊中的選項更易於訪問 使一系列複雜的任務自動執行

應用程式也可以使用一種和巨集類似機理的系統來允許使用者將一系列(一般是最常使用到的操作)自定義為一個步驟。也就是使用者執行一系列操作,並且讓應用程式來“記住”這些操作以及順序。更高階的使用者可以通過內建的巨集程式設計來直接使用那些應用程式的功能。當使用一種不熟悉的巨集語言來程式設計時,比較有效的方法就是記錄使用者希望得到的一連串操作,然後通過閱讀應用程式記錄下來的巨集檔案來理解巨集命令的結構組成。

巨集程式設計介紹

在用一種不熟悉的巨集語言進行巨集程式設計時,可以這樣做,首先記錄下使用者想要巨集完成什麼,然後開啟巨集檔案並嘗試理解命令結構如何工作。也可以修改命令以調整巨集。一些巨集語言,比如Great Plains賬務(?accounting)軟體的 Dexterity 執行時引擎,不能從其它資料來源(如由逗號分隔的文字檔案)匯入資料。這一限制可以通過用更強大的程式語言,如 VBA 來建立一個計算機程式在此弱程式語言裡生成一個特別的巨集來解決。例如,可以對 Microsoft Excel 巨集程式設計從擴充套件樣式表或文字檔案中讀取資料並建立 Great Plains 檔案,這一檔案被用於將特定的資料匯入 Great Plains. 需要針對每一個新的資料集合生成新的 檔案。

熱門標籤