Perl有枚举类型吗?
发布时间:2020-12-15 21:27:58 所属栏目:大数据 来源:网络整理
导读:Perl有一个枚举类型,它遵循最佳实践,或者更重要的是,它需要一个吗? 我正在工作的项目使用字符串在所有的地方表示通常使用一个语言如C#中的一个枚举。例如,我们在哈希数组中有一组电话号码,每个都与一个电话类型(“Home”,“Work”,“Mobile”等)相关
Perl有一个枚举类型,它遵循最佳实践,或者更重要的是,它需要一个吗?
我正在工作的项目使用字符串在所有的地方表示通常使用一个语言如C#中的一个枚举。例如,我们在哈希数组中有一组电话号码,每个都与一个电话类型(“Home”,“Work”,“Mobile”等)相关联: $phone_number->{type} = 'Home'; 在这里使用只读的变量集合还是应该使用枚举?我发现了一个 use Readonly; Readonly my $HOME => 'Home'; Readonly my $WORK => 'Work'; Readonly my $MOBILE => 'Mobile'; $phone_number->{type} = $HOME; 这是一个好的方法还是有更好的方法? 解决方法
不,没有内置的枚举构造。 Perl不做很多严格的打字,所以我认为实际上没有什么需要。
在我看来,你使用的 还有更传统的 use constant { HOME => 'Home',WORK => 'Work',MOBILE => 'Mobile',}; $phone_number->{type} = HOME; 在后台,它为每个返回值的常量设置一个函数,就像这样。 sub HOME () { 'Home' } 我会坚持使用 package Phone::Type; use constant { HOME => 'Home',#... }; package main; print Phone::Type->HOME,"n"; (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |