[精讚] [會員登入]
108

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

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

此文完整連結 http://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

你可能感興趣的文章

[PERL] 08-陣列 #2 --操作 更多perl陣列的操作,如拆開、黏合、取出、加入等等

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

[PERL] 13- 變數的視界 Perl 的副程式就是所謂的函數

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

[PERL] 22-日期和時間 Perl 取得日期時間的方法整理,使用 localtime等多種函數

自行撰寫syslog server建立資訊安全控管中心#3 -- 程式下載和安裝 利用PERL將syslog收攏到資料庫的程式,程式下載和安裝

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

[PERL] Regex 字元集(群組) 幾個Perl在regular express會用到的特殊符號notation:字元集

[PERL] 01-撰寫第一隻PERL程式 PERL的系列教學文,適合有其他程式經驗但沒學過PERL的人

PERL 正規表達式會用到的符號 PERL在比對時常常會用到符號整理

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[HP DL380G7] 生效啟動第3,4片網卡/開啟或關閉內建的網卡 HP DL380G7 預設第3,4片網卡裝完系統後找不到,難道是壞了?要怎麼辦?

[Freebsd] 使用 ADSL 撥接上網 Freebsd上要使用 ADSL 撥接上網,該如何設定?

[PHP] 檢查IP是否在某個網段內 mtachcidr 要檢查IP是否在某個網段內,要寫幾行?10行?5行? 不用,只要2行。以下是我寫的 code /** * matchCI

「許功蓋」的字以及源由 有玩過電腦一段時間的人,都聽過這個人(有一天我才發現7年級的竟然都不認識這個"人")。 在古老的年代

[AS3] 物件加上超連結的方法 物件加上超連結,可讓使用者點擊的方法