程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> JAVA編程 >> 關於JAVA >> 用Eclipse構建Perl應用程序

用Eclipse構建Perl應用程序

編輯:關於JAVA

開始之前

對於許多 Perl 程序員來說,典型的開發環境可能是一個編輯器(比如 Emacs),再加上一個命令行環境。問題是必須經常在 Emacs 和命令行之間切換。如果正在進行 Web 開發,那麼就更糟了,因為在編寫、執行和檢查日志以獲得信息時必須在 Emacs、命令行和 Web 浏覽器之間切換。令人吃驚的是,沒有哪種 IDE 真正滿足 Perl 程序員這麼多年來的需要,EPIC 和 Eclipse 正是要填補這一空白。

EPIC 是一個完整的插件套件,它在 Eclipse 中支持一種新的 “自然環境”。EPIC 插件將擴展與編輯器結合起來,使它能夠理解 Perl 結構和布局。這個插件還增加了額外的代碼視圖和界面以及相關信息,使開發人員能夠查看文檔、執行 Perl 應用程序並調試它們。

關於本教程

本教程將討論 EPIC 插件的基本知識,然後使用一個真實的示例來研究 EPIC 系統,這個示例完全在 Eclipse 中開發一個支持 RSS 分析的小模塊和腳本。可以利用這個機會研究其他領域,比如與 Perldoc 的集成、代碼折疊和重構 —— 這些都可以使應用程序開發過程更順暢。在學完本教程之後,您會很好地理解在 Eclipse 中開發 Perl 應用程序時如何使用 EPIC 插件。

前提條件

為了使用 EPIC,需要以下工具:

Eclipse V3.0 或 3.1

Java V1.3、1.4 或更高版本

Perl V5.8.6 或更高版本。大多數 UNIX® 和 Linux® 以及 Mac OS X 包含 Perl 的一個版本。在 Windows® 上,使用 ActivePerl。

CPAN 上的 PadWalker Perl 模塊。

EPIC(Eclipse Perl Integration),SourceForge 上的針對 Eclipse 平台的開放源碼 Perl IDE。

為什麼要使用 IDE?

本節討論使用集成開發環境(Integrated Development Environment,IDE)而不是更傳統的方法的原因。

開發期間的任務

在討論使用 IDE 而不是更傳統的方法的原因之前,有必要考慮一下在用腳本語言進行開發時可能執行的所有任務。這與典型的編譯語言開發有些差異。一般不需要將源代碼編譯成最終的應用程序,但是有一些必須執行的任務:

編寫代碼 —— 這包括調整格式,使代碼的可讀性更好。

檢查有效性 —— 盡管不對代碼進行編譯,但是代碼仍然有嚴格的結構,仍然可能在代碼中引入 bug 和問題,通過在代碼上執行某些簡單的檢查可以識別出這些問題。

訪問文檔 —— 無論程序員多出色,都幾乎肯定需要查看文檔的某些方面。

編寫注釋/文檔 —— 在代碼中添加注釋來增加代碼的可讀性,增加文檔來為別人提供幫助。

執行代碼 —— 常常需要嘗試運行正在編寫的代碼,在使用腳本語言時尤其如此。

調試 —— 一般需要通過嚴格的調試過程探測執行期間的任何問題。

如何執行這些任務取決於使用的環境。我們先來看看典型的非 IDE 環境。

現有的環境

問問典型的 Perl 程序員,他使用什麼來編輯和處理 Perl 腳本,他很可能只是說出他喜歡的編輯器 —— 可能是 vi,甚至是 Notepad。他也可能使用功能更豐富和智能化的編輯器,比如 Emacs 或 oXygen,它們提供了內置的標記、高亮顯示和智能格式化。

能夠使用標准編輯器進行編輯並通過命令行直接執行程序,這是腳本語言(比如 Perl、Python、PHP 和 Ruby)的主要好處和優點之一。

編輯器方式有一些明顯的好處。例如,無論有沒有特定的編輯器,都可以在任何地方輕松地編輯和創建腳本,所以對於在哪裡和何時進行編程並沒有限制。

但是,其他方面就不太好了。例如,查看文檔常常需要在另一個應用程序或終端窗口中進行。執行應用程序也需要打開另一個 shell 或終端窗口。另外,還不能將項目作為一個整體進行管理。典型的 Perl 項目由 Perl 腳本、模塊和其他數據(比如 XML 文件或其他數據源)組成。它們可能都在同一個文件夾中,但是它們的相互關系和意義可能不明顯。

IDE 的好處

任何 IDE 的關鍵元素直接與它的第一個單詞 “集成(integrated)” 相關。任務 一節中描述的所有步驟一般都可以在一個 IDE 中執行,而不需要切換出這個應用程序。

例如,可以編寫代碼並自動地格式化。在輸入代碼時,代碼中的錯誤或拼寫錯誤可以高亮顯示,還可以使用文檔的熱鏈接來查看需要使用的函數或模塊,而不需要單獨查找此信息。

通常,還可以執行應用程序(並監視執行情況),從而判斷它是否工作正常,還可以調試它的操作。

可以在應用程序中直接使用執行和調試過程中產生的信息和輸出。例如,產生的錯誤和警告會提供一個鏈接,讓開發人員可以直接返回到源代碼中的相關行。

總的來說,集成開發系統的主要好處是可以節省時間。不再需要花時間在應用程序之間切換,或者尋找和定位產生問題的代碼。所有信息不但高亮顯示,而且加了鏈接,所以很容易在代碼結構中工作。

習慣於簡單編輯器方式的腳本程序員通常不熟悉其中的許多功能。但是,現在應該考慮轉到更方便的環境了。

安裝和設置

我們來看看如何安裝 EPIC 插件,從而可以使用 IDE 特性編寫 Perl 應用程序。

安裝 EPIC 插件

在使用 EPIC 之前,需要安裝這個插件。在此之前,顯然需要一個 Perl 解釋器。我使用基於 BSD的Mac OS X,它附帶基於 UNIX的Perl 解釋器,這種解釋器也可以在任何其他 UNIX/Linux 主機上使用。在 Windows 上,可以使用 ActivePerl 解釋器(來自 ActiveState)或 Cygwin 系統中提供的 Perl 解釋器。我喜歡 ActivePerl,但您可以自由選擇。

得到 Perl 解釋器之後,使用 Eclipse的Software Update 組件來安裝它:

選擇 Help > Software Update > Find and Install,會看到一個對下載進行配置的窗口,見圖 1。

圖 1. Software Update 窗口

點擊 Next。

點擊 New Remote Site。給新站點起名字並輸入源 URL(http://e-p-I-c.sf.net/updates"),見圖 2。

圖 2. 創建新站點

然後按照屏幕上的說明尋找、選擇和安裝插件。

快速配置

以後再仔細研究首選項以及它們對使用 EPIC 插件的方式的影響,但是可以快速浏覽一下首選項面板,對可用的功能有個概念。

要訪問 EPIC 的首選項,打開標准 Eclipse Preferences Window 並在左邊的導航面板中選擇 Perl EPIC 文件夾,見圖 3。

圖 3. EPIC 首選項

首選項分成幾部分,首先是插件的一般首選項:

General Preferences —— 設置 Perl 可執行程序的位置、解釋器、執行模型以及在後台檢查代碼之前等待的時間段。

Code Assist —— 設置觸發自動補全的字符。

Editor —— 設置編輯器首選項,包括不同組件的高亮顯示顏色、注釋格式,等等。

Source Formatter —— 設置格式化首選項。

Task Tags —— 設置任務標記,這是一種快速提示,可以將開發人員帶回特定位置。

Templates —— 設置代碼模板,模板可以直接插入代碼,從而加快開發速度。

在本文中,當這些選項影響到工作方式時,我會說明如何進行調整。還會在專門的小節中討論一些特定元素,比如任務標記和模板。

Windows 提示

在 Windows 上的 Eclipse 中使用 EPIC 插件時,有一些技巧可以改進與組件的交互。

如果使用 ActiveState的ActivePerl 發行版,那麼將 Perl 可執行程序改為 wperl.exe 可執行文件(在 General Preference 面板中設置)。這會防止每次檢查代碼時都顯示命令提示窗口。將 Perl 二進制目錄添加到路徑中也是好想法,但不是必需的。在安裝 ActivePerl 時應該已經自動添加了。

如果使用 Perl的Cygwin 版本,那麼要確保可以通過系統路徑訪問 mount 命令(這是標准 Cygwin 安裝的一部分)。可以通過檢查環境變量的值來確認這一點。采用的操作步驟是:

打開 System Control Panel(點擊 Start > Control Panels > System,或者右擊 My Computer 並選擇 Properties)。

切換到 Advanced 面板。

點擊 Environment Variables。應該會看到與圖 4 相似的窗口。

圖 4. Windows 中的系統和用戶環境變量

檢查 PATH 變量的值。如果沒有列出 Perl 或 Cygwin 二進制目錄,那麼將它們添加到路徑值中。各個目錄用分號分隔。

創建項目和文件

要在 Eclipse 中使用 EPIC 插件編寫 Perl 應用程序,需要理解 Perl 項目和文件的角色。

創建新項目

我們來創建一個新的 Perl 項目。因為 EPIC 提供了一個新環境,我們可以創建新項目來構建 Perl 應用程序。為了進行討論,我們將構建一個 Really Simple Syndication(RSS)應用程序,它可以從互聯網下載 RSS 文件、分析它並轉儲信息摘要。然後可以擴展這些基本功能。

先創建一個新項目來包含 RSS 項目文件。創建新項目的辦法是從可用項目類型的列表中選擇一個項目類型。選擇 New > Perl Project,或者選擇 New > Other 並從列表中選擇 Perl Project。會看到圖 5 所示的結果窗口。

圖 5. 創建新的 Perl 項目

給項目起名字(RSS Feeder)並指定項目的工作空間,或者使用默認的工作空間。

在創建新的 Perl 項目時,Eclipse 應該會自動切換到 Perl 透視圖。Perl 透視圖包括許多特定的面板,這些面板可以幫助編寫 Perl 腳本。

Perl 透視圖

如果 Eclipse 沒有自動切換到 Perl 透視圖,可以手動切換到它:使用 Window > Open Perspective 並從透視圖列表中選擇 Perl。在圖 6 中可以看到這個透視圖的示例,這裡打開了一些文件和視圖。

圖 6. Perl 透視圖

在圖 6 中可以看到,這個透視圖包含許多不同的面板(在 Eclipse 中稱為視圖),包括:

Package explorer 視圖 —— 這顯示項目的布局(文件、模塊和腳本)。

當前文件的 Outline 視圖 —— 這顯示當前文件中導入的模塊列表和定義的函數列表。

標准編輯器/文件界面 —— 這顯示項目中的各個源文件。

Tasks 視圖 —— 這顯示登記的任務列表。

Console 視圖 —— 這是應用程序的標准輸出。

Problems —— 這個視圖高亮顯示當前項目的代碼中的錯誤,並提供鏈接。

在本教程中,將使用大多數視圖中包含的信息。記住,任何時候都可以添加和刪除視圖:從 Window 菜單選擇 Show View,並直接選擇一個視圖,或者選擇 Other 菜單項並從一個更大的列表中選擇。

創建新文件

創建了新項目之後,第一個任務是創建新文件。EPIC 中的文件可以是腳本或 Perl 模塊。對於 EPIC 來說,這兩者之間沒有區別,但是 Perl 當然會區別對待它們。因為 EPIC 並不區分這兩者,所以必須依靠文件擴展名來區分給定項目中的這兩種文件。

創建新文件的辦法是從可用的文件類型列表中選擇一種。選擇 New > File > Other 並從列表中選擇 Perl File,見圖 7。

圖 7. 選擇 Perl 文件

然後可以看到 Perl 文件屬性窗口,見圖 8。

圖 8. 設置 Perl 文件屬性

需要指定應該創建這個文件的文件夾(或項目)和文件名。通過點擊 Advanced 按鈕並設置首選項,可以將這個文件與文件系統上的現有文件關聯起來。

點擊 Finish 創建新文件。這時會出現文件的編輯器窗口。

編輯器特性和 Perldoc 集成

任何編程工作的主要部分實際上都是編寫代碼,所以 EPIC 的許多功能都與改進編輯器環境有關。

Perl 編輯器

實際生成代碼基本上就是將希望編寫的代碼輸入編輯器中。但是 Perl 編輯器與其他編輯器有一些差異。主要的差異是可以利用的額外功能。

第一個特性是語法彩色顯示。源代碼的不同元素(根據設置)以不同的顏色顯示,這樣就更容易識別代碼中的不同成分。

例如,如果輸入以下代碼:

use strict;
use warnings;

use 關鍵詞將以與要裝載的模塊的名稱不同的顏色高亮顯示。語法高亮顯示應用於許多元素,每種元素都有自己的顏色。可以通過修改首選項來修改這些顏色。元素包括函數、參數、靜態字符串和變量以及關鍵詞,等等。

第二個特性在進行編輯期間出現,即在執行之前進行標准檢查,對識別出的錯誤進行高亮顯示。例如,輸入以下代碼(要完全一樣):

use XML:RSS;

如果停頓一會兒(必須停頓的時間是可配置的),EPIC 插件檢查代碼的格式和語法,並報告發現的任何錯誤。有錯誤的代碼行會高亮顯示,如果切換到 Problems 視圖,會看到對錯誤的描述以及發生錯誤的文件和行。在圖 9 中可以看到一個示例。

圖 9. 代碼中高亮顯示的錯誤

在這個示例中,因為代碼是錯的,所以它自動地高亮顯示。需要兩個冒號,Perl 才能識別出模塊。要獲得更詳細的幫助,可以右擊錯誤行並選擇 Explain Errors/Warnings,就會出現對問題更完整的描述和可能的解決方案。

注意,並不是由 EPIC 自己檢查代碼的有效性。它通過 Perl 檢查代碼,並分析輸出。這確保代碼是有效的 Perl 代碼,也意味著還會應用代碼中的附注(比如前面定義的警告附注和嚴格附注)。

簡單的代碼補全

語法和錯誤高亮顯示盡管有用,可以減少在代碼中引入的錯誤和拼寫錯誤數量,但是不能提高創建代碼的速度。

為了提高生成代碼的速度和代碼質量,EPIC 會自動地補全一些常見元素。例如,如果輸入:

my $feeds = {"

實際上得到的是:

my $feeds = {""}

EPIC 自動地補上了結束花括號和引號。

在前一行上添加分號,並在新行上輸入 $。

停頓一會兒,EPIC 將顯示可能的變量列表。您只定義了一個變量,但是系統可以自動地建議任何變量類型的可能的變量補全:標量($)、數組(@)或散列(%)。

為了繼續構建 RSS 分析器,我們用關於提要(feed)的一些信息填充散列。為了進行演示,定義以下散列:

my $feeds = {"MCslp" => "http://mcslp.com/?feed=rss2"};

要想下載 RSS 提要,需要使用 Lib WWW Perl library(LWP),它可以通過 URL 中指定的方法處理所有下載。需要創建一個新的 UserAgent 對象。將 LWP::UserAgent 模塊添加到腳本的開頭。然後輸入:

$ua = LWP::UserAgent->

在圖 10 中可以看到,EPIC 將提供為完成這一行可能使用的函數的列表。這種交互式的補全結合了文檔查詢和代碼補全,可以提示出可應用於一個對象或類的函數或方法,允許開發人員進行選擇。

圖 10. 交互式方法補全

注意,要想讓這個系統在對象上正確工作,就必須用 $ua = LWP::UserAgent->new(); 而不是 $ua = new LWP::UserAgent; 來創建對象。這是由 EPIC 判斷此信息的方式決定的。

基本的 Perldoc 集成

讓我們回到 RSS 提要程序(feeder)示例。在分析一個提要時,可能希望注意處理這個提要的日期和時間。內置的 Perl localtime() 函數返回一系列包含時間信息的變量。但是,盡管我用 Perl 進行編程已經有 10 年了,但是還記不住信息的次序。

利用 Eclipse 和 EPIC,就可以輸入這個函數名、雙擊選擇它並在它上面停留一會兒,就會出現對這個函數的說明。此信息同樣是從 Perldoc 獲得的。現在可以看到返回值是什麼。在圖 11 中可以看到一個示例。

圖 11. 獲得內聯文檔幫助

輸入 localtime。現在高亮顯示這個單詞並在它上面停留。

此信息直接取自 Perl 文檔(Perldoc)。Perldoc 是一個命令行接口,它會將嵌入在 Perl 腳本和模塊中的文檔提取出來。

在 Perldoc 中查找完整的定義

還可以使用、浏覽和搜索來自 Perldoc 庫的信息。如果按下 Control-Shift-H 或在編輯器中右擊,就會提示您選擇要尋找的 Perldoc 部分(模塊、內置函數或 FAQ 搜索)。還可以高亮顯示一個條目並右擊或者使用鍵盤快捷鍵。在這兩種情況下,信息顯示在一個特殊的 Perldoc 視圖中。在圖 12 中可以看到 Perldoc 視圖,其中顯示了 LWP::UserAgent 模塊的信息。

圖 12. 完整的 Perldoc 集成

與語法檢查一樣,此信息也是通過標准的 Perl 工具獲得的。EPIC 並沒有替代它們的功能,而是在需要的時候通過它們獲得信息,以便為開發人員提供最大的幫助。這意味著可以通過 Emacs 或命令行獲得的信息,也能夠通過 EPIC 和 Eclipse 獲得。

對於 Perldoc 來說,這意味著可以訪問所有標准的 Perl 頁(比如 perlre 或 perlfunc),單獨訪問特定的區域(例如,可以獲得單個函數的定義,正如 localtime 所證明的),還可以獲得給定 Perl 系統中安裝的所有模塊的信息。

強大的用戶功能

還有幾個功能可以幫助那些開發大型項目的開發人員,或者是常常需要在 Eclipse 中開發 Perl 應用程序的開發人員。

任務標記

假設需要分析剛下載的 RSS,但是您想要編寫單獨的函數來進行處理。目前還不想考慮實際編寫這段代碼。在標准編輯器和環境中,這可以用許多方式實現 —— 例如,在源代碼中使用一種特殊的注釋,以後要實際編寫此處的代碼時可以搜索並找到這個位置。

EPIC(和 Eclipse)支持這種功能。可以搜索單獨的條目或代碼段。但是,EPIC 和 Eclipse 通過支持特定的任務標記,擴展了這一功能。這些注釋具有特定的格式。例如,在源代碼中輸入以下代碼:

#TODO Write the function to parse the RSS raw code

如果打開 Tasks 視圖(選擇它或者通過 Window > Show View 菜單項目添加它),就會看到要做的任務列表中已經添加了一個任務(及其描述)。在圖 13 中可以看到這個任務,包括源代碼和結果視圖。

圖 13. 任務標記

Tasks 視圖是特定於項目的,這意味著可以看到項目中所有文件中的任務標記及其描述,而不只是當前文件的標記。這很好地突出顯示了整個項目中的任務。

標准安裝有兩個可識別的標記:TODO 和 TASK。可以使用 EPIC的Task Tags 首選項配置更多的任務標記。首選項窗口見圖 14。

圖 14. 設置任務標記首選項

要創建新的任務標記:點擊 New 並指定識別為標記的文本。順便說一句,因為標記屬於注釋,您應該知道 Control-/(Control 斜線)注釋當前行,Control-\ 取消某一行的注釋。如果選擇多行代碼,那麼這些操作對每一行進行注釋或取消注釋。

代碼格式化

對 Perl 代碼進行格式化有許多方式,保持格式正確可以大大改進代碼的可讀性。EPIC 會對代碼的某些元素自動地進行格式化。在前面討論對括號和引號進行自動補全時,您已經看到了 EPIC 自動調整不同元素布局的方式。還可以按下 Control-Shift-F 或者從 Source 菜單中選擇 Format,讓 EPIC 將代碼重新格式化為可讀格式。

准確的格式取決於首選項,這是通過 Eclipse 首選項中的 Source Formatting 面板設置的(見圖 15)。格式化由 Perltidy 執行,它讀取代碼並根據某些標准對代碼進行重新格式化(這些標准的細節見 O'Reilly的Programming Perl)。

圖 15. 設置源代碼格式化首選項

主要的選項按照以下方式影響格式化。“Cuddle else” 改變 else 語句的行為,見清單 1:

清單 1. else 語句

}
else {
to
} else {

“The opening brace on the new line” 讓 Perltidy 將代碼塊的起始花括號放在新行上。清單 2 給出一個示例。

清單 2. 讓 Perltidy 將代碼塊的花括號放在新行上

if ($a == 1) {
變成
if ($a == 1)
{

“Lining up parentheses” 確保在括號跨多行時將括號對齊。最後,“Swallow optional blank lines” 刪除沒有意義的任何空行。例如,注釋前面的空行保留,但是後面的空行不保留。主要代碼塊(例如函數、循環和測試)之間的空行保留。

通過在執行 Perltidy 時調用的命令行上添加參數,可以配置任何其他選項。

重構

代碼重構就是調整代碼,但是不改變它的行為。在 EPIC 中,重構可以將一個代碼塊轉換為函數,讓代碼的任何部分都可以訪問此功能。EPIC 將提取代碼塊所需的輸入變量,判斷輸出,並將它們分別轉換為參數和返回值。為了使用重構,我們來考慮用來下載並將 RSS 提要 URL 分析為 RSS 對象的代碼段(見清單 3)。

清單 3. 用來下載並將 RSS 提要 URL 分析為 RSS 對象的代碼段

foreach my $feed ( sort keys %{$feeds} )
{
   my $response = $ua->get( $feeds->{$feed} );
   if ( $response->is_success )
   {
     my $rss = XML::RSS->new();
     $rss->parse( $response->{_content} );
   }
}

如果選擇這個 foreach 循環的內容(整個塊的內容,不包括 foreach 語句和括號),右擊並選擇 Refactor > Extract subroutine,EPIC 就會將此代碼轉換為以下代碼(見清單 4):

清單 4. 提取子例程

foreach my $feed ( sort keys %{$feeds} )
{
   my ($response, $rss) = parse_rss_fromurl ($feeds, $ua, $feed);
}
 
sub parse_rss_fromurl
{
   my $feeds  = shift;
   my $ua    = shift;
   my $feed   = shift;
   my $response = $ua->get( $feeds->{$feed} );
   if ( $response->is_success )
   {
     my $rss = XML::RSS->new();
     $rss->parse( $response->{_content} );
   }
   return ( $response, $rss );
}

可以看到,EPIC 已經判斷出了新的子例程需要的變量以及返回值。代碼的實際作用沒有變,但是整個代碼塊已經重構為一個新的子例程。還要注意,foreach 循環現在包含必要的子例程調用和參數。

模板和模塊

許多源代碼基於相似的元素。例如,盡管子例程可能不同,但是基本內容是相同的:需要同樣的關鍵詞、括號和用於提取子例程參數的相同結構。模板使開發人員可以更快地將這一結構插入代碼。

創建模板

模板是通過 Eclipse 首選項中的 Templates 面板定義的。模板就是一個可以快速且輕松地插入源代碼中的代碼段。

要創建新模板:

打開 Preferences 窗口並從 Perl EPIC 部分選擇 Templates。應該會看到與圖 16 相似的首選項面板。

圖 16. Template 首選項

點擊 New 按鈕,會看到圖 17 所示的窗口。

圖 17. 創建新模板

輸入模板的名稱。盡量只使用一個單詞,因為在插入代碼時將使用這個名稱。

輸入對代碼的描述。

輸入模板的代碼。在這裡輸入的代碼在插入模板時會原樣插入,就像復制和粘貼了此內容一樣。

點擊 OK 結束模板定義。

點擊 OK 關閉 Preferences 窗口。

要實際使用模板,在代碼中輸入模板名並按 Control-Space。輸入的模板代碼就會插入在當前位置,替換掉指定的模板名。

盡管這樣的模板是有用的,但是仍然必須進入模板代碼並設置某些元素。例如,在 for 循環中,仍然必須編輯和輸入循環變量、測試值和遞增值的名稱。可以使用動態模板進一步簡化這個過程。

創建動態模板

創建動態模板與創建標准模板很相似。區別在於輸入定義中的代碼。EPIC 支持在模板中的變量 表示。這些變量與代碼中的變量沒有任何關系,它們讓開發人員可以用簡單的元素定制插入的代碼。

例如,在前面給出的 for 循環示例中,可能將以下代碼輸入模板:

for($i;$i<10;$i++)
{
}

但是 $i 可能不是您要使用的變量,10 也可能不是要進行比較的值。通過使用動態模板,可以定義一個變量元素,在插入模板時可以輕松地替換它。為此,使用 ${varname} 形式指定模板變量的名稱。如果多次使用同一個名稱,那麼只需輸入變量一次,而且可以在一個模板中創建多個模板變量。使用兩個美元符($$)將美元符插入模板。

例如,可以將 for 循環定義改為:

for($$${var};$$${var}<=${maxvalue};$$${var}++)
{
}

現在,在插入模板時,光標自動定位在第一個 ${var} 上。輸入變量名,每處 ${var} 都會替換為變量名。按 Tab,光標將移動到 ${maxvalue}。

這只是模板的眾多優秀功能的一部分,通過這些示例您應該會體會到模板系統和變量替換是多麼靈活。

結束語

EPIC 插件為編寫和開發 Perl 代碼提供了一個完整的環境。EPIC 采用了許多方式,主要是幫助開發人員編輯、創建和格式化代碼。盡管 EPIC 並不幫助實際生成代碼(模板只提供了非常初級的代碼生成),但是它使開發人員能夠更容易地在代碼中移動,自動格式化和元素自動補全可以減少代碼輸入量。

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved