[精讚] [會員登入]
1497

[PERL] 可用中文取名的中文名函式和package

原來perl 也可以用中文當函式、類別、方法的名稱啊

分享此文連結 //n.sfs.tw/10674

分享連結 [PERL] 可用中文取名的中文名函式和package@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-01-24 09:06:35 最後編修
2017-01-24 09:04:42 By 張○○
 

自動目錄

偶然逛到這個gugod's blog網站,原來perl 也可以用中文當函式的名稱‧

覺得很有趣,自己也來寫寫看,寫完自己也笑了,我終於能體會為什麼外國人寫程式比較容易,因為函式的名稱對外國人而言比較有意義。

這裡我特別用 package 的寫法,也是就是我們一般所謂的class,第2行的package main可省略不寫,寫出來只是區分和下面的package不一樣。

perl的package並不是用大刮號兩邊刮起來,所以結束package用一行:

1;

#!/usr/bin/perl -w
package main;
use utf8;
use encoding 'utf8';

  print "中文函式\n";
  動物->狗;
1;   # 這是 package 的結束記號,不要覺得很奇怪。

package 動物;

sub 狗{
#    &貓("狗函式");
    $狗叫聲 = 叫聲->狗;
    print "狗函式叫聲 ". $狗叫聲;
}
sub 貓{
    $_ = shift;
    print $_. "呼叫貓函式\n";
}
1;

package 叫聲;
    sub 狗{
        return "汪汪\n";
    }

    sub 貓{
        return "喵喵\n";
    }
1;

執行結果

中文函式
狗函式叫聲 汪汪

參考資料

[1] 指鹿為馬 Perl 版 http://gugod.org/2009/11/-perl-1.html


原文 2010-02-02 11:36:46

END

你可能感興趣的文章

[PERL] 檢查IP是否在某個網段內:matchcidr 檢查IP是否在某個網段內 matchcidr in perl

[PERL] 24-呼叫系統程式及評估 Perl 如何呼叫系統程式並取回結果?

[PERL] 21- 使用資料庫 Perl 連Mysql

Perl 的列舉寫法(map list) 使用列舉的寫法來設定陣列,非常的強大

[PERL] 命令列傳入參數 argv Perl 的外部傳參,是$ARGV[0]、$ARGV[1]、$ARGV[2].....

[PERL] 04-基本比對 perl的正規表達示基本比對

我有話要說

>>

限制:留言最高字數1000字。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

為什麼要重造輪子? 什麼輪子?造什麼輪子?我為什麼要重造輪子?

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

好用的3+2碼郵遞區號查詢系統推薦 網路上找到用地址輸入判斷3+2碼郵遞區號的辨識率不高,除了這個網站…

精讚的版面變化 ▓此文僅作為舊文的記錄▓ 這篇文章為了紀念改版完成而撰寫。 原本的部落格是民國97年的作品,那時還是用舊有的技術來寫,很