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