Perl有一個枚舉類型,它遵循最佳實踐,或者更重要的是,它是否需要一個?Perl有枚舉類型嗎?
我正在使用的項目使用遍佈各處的字符串來表示通常使用C#語言中的Enum的東西。例如,我們在哈希的數組,每個電話類型相關的一組電話號碼(「家」,「工作」,「手機」等):
$phone_number->{type} = 'Home';
難道是足夠在這裏使用只讀變量集合還是應該使用Enum?我找到了一個enum
module on CPAN,但它似乎使用了違反Perl Best Practices之一的裸詞。我使用read-only variables的思維是這樣的:
use Readonly;
Readonly my $HOME => 'Home';
Readonly my $WORK => 'Work';
Readonly my $MOBILE => 'Mobile';
$phone_number->{type} = $HOME;
這是一個很好的方法,或是否有更好的辦法?
嚴格來說,在場景後面有sub HOME(){'home'}。 – 2009-01-26 13:21:55
當你有一個子程序,其中Phone :: Type枚舉爲參數,你如何執行子程序參數的動態檢查是Phone :: Type類型枚舉,不是字符串,不是數字... – 2009-06-25 10:13:52
只是爲了澄清sub HOME( ){'home'}並使用常數{HOME}>'Home', WORK =>'Work', MOBILE =>'Mobile', }; 是一樣的嗎?後來生成(幕後)代碼? – 2010-01-18 18:18:17