Perl是支持按返回類型重載函數的語言之一。按返回類型重載函數
簡單的例子是wantarray()。
幾乎沒有好的模塊在CPAN中可用,它擴展了這個wantarray()併爲許多其他返回類型提供重載。這些模塊是Contextual::Return和Want。不幸的是,我無法使用這些模塊,因爲這兩個模塊都無法使用perl 5.8.9版本(我無法升級這個perl版本)。
所以,我正在考慮編寫自己的模塊,如Contextual :: Return和Want,但使用非常少。我嘗試瞭解Contextual :: Return和Want模塊代碼,但我不是專家。
我需要函數重載返回類型BOOL,OBJREF,LIST,SCALAR只。
請幫助我提供一些指導方針,我該如何開始。
我不知道,CPAN說你的perl版本應該適用於Contextual :: Return ...無論如何,提供一個額外的參數(context =>'BOOL')可能比簡化一個額外的模塊 – amon 2012-07-13 13:54:28
If你的Perl :: Critic不喜歡它,爲什麼你不添加一條規則,以便它知道如何正確處理這些情況? – simbabque 2012-07-13 13:59:44
這些規則由我們的客戶執行。這是政策,cpan模塊也應該通過perl批評嚴重性5,如果使用 – rpg 2012-07-13 14:03:49