[精讚] [會員登入]
2229

[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 計算經過的時間 Perl 計算程式執行經過的時間

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

[PERL] 11- 雜湊的範例 Perl 的幾個雜湊範例

[PERL] Perl 不立即輸出的列印緩衝區問題 解決Perl 不立即輸出而是最後一次輸出的列印緩衝區問題

[PERL] 18-套件及模組 套件和模組入門

[PERL] 14-進階比對 #1--取回比對內容 perl的正規表達式進階比對

隨機好文

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

安裝SPHINX支援中文 新版本的 sphinx 和舊版不同,網路上很多範例和教學是不能用的。此文是安裝和設定方法分享

[Windows7] 移除IE10及移除IE11 Windows7 不得已的情況要移除IE11或IE10怎麼做?

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

[CodeIgniter3] 解決無法上傳特定檔案(.sb2)的問題 上傳時出現The filetype you are attempting to upload is not allowed,要怎麼解決?