我仍然試圖弄糟Perl的OOP特性。如果我有一個子程序調用,我很困惑:這些常規的Perl子程序調用?
My::Package::sub_name($param1,$param2)
這會得到作爲第一個參數發送的「My :: Package」嗎?我傾向於拒絕,但我不確定。
我仍然試圖弄糟Perl的OOP特性。如果我有一個子程序調用,我很困惑:這些常規的Perl子程序調用?
My::Package::sub_name($param1,$param2)
這會得到作爲第一個參數發送的「My :: Package」嗎?我傾向於拒絕,但我不確定。
你爲什麼不試試呢?
擾流板警報:
不,第一個參數將不是包名稱。
但是,當你這樣做:
My::Package->sub_name($param1, $param2)
你會得到包/類名作爲第一個參數。
(正如Manni所說)將移位到@_
(其中的調用者是一個祝福的對象或一個純粹的類名)。函數名稱中的::
僅用於命名空間消歧,不會更改@_
。
發佈作爲一個答案按地理的建議,雖然我並不想成爲一個代表妓女:)
它在文檔中描述的更多:perldoc perlboot,perldoc perltoot。
我曾試過類似的東西,但我在考慮它是否是一般規則。 – Geo 2009-10-26 21:26:51