Perl6 的多型機制 (1)

Home » Perl6 » Perl6入門 » Perl6 的多型機制 (1)
2015-08-15 Perl6入門 尚無留言

做為新一代的程式語言,物件導向的功能可不能少,其中關於函式的重載(function overloading),自然要有「多型」的機制,在 Perl6 來說,這叫做「多重分派」( Multiple Dispatch)。

簡言之,Perl6 可以根據參數的型態來呼叫適當的副程式,用例如下:

# 副程式 1
multi sub saysomething(Int $i) {
	say "輸入的是整數: $i";
}

# 副程式 2
multi saysomething(Str $s) {  # 關鍵字 multi 即代表 sub,因此,sub 可以省略
	say "輸入的是字串: $s";
}

saysomething("傻子");
saysomething(123);

# => 結果:
# 輸入的是字串: 傻子
# 輸入的是整數: 123

如上例所示,函式名稱都是一樣的,不過,當傳入的參數為字串「傻子」時,Perl6 會呼叫副程式 2;而當傳入的參數是整數時,則呼叫副程式 1。

LEAVE A COMMENT

  ×  one  =  one

這個網站採用 Akismet 服務減少垃圾留言。進一步了解 Akismet 如何處理網站訪客的留言資料