大佬教程收集整理的这篇文章主要介绍了如何在Perl中创建枚举类型?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
从这个线程拉出来:Does Perl have an enumeration type?
use Strict; use constant { HOME => 'home',WORK => 'work',MOBILE => 'mobile',}; my $phone_number->{typE} = HOME; print "Enum: ".$phone_number->{typE}."\n";
但这不应该返回索引0吗?或者我理解这个错误?
编辑:
对于枚举类型,这样的事情会更令人期待吗?
use Strict; use constant { HOME => 0,WORK => 1,MOBILE => 2,}; my $phone_number->{typE} = HOME; print "Enum: ".$phone_number->{typE}."\n";
编辑#2
此外,我想验证所选的选项,但传回Word而不是值.我怎样才能充分利用这两个例子?
@VALUES = (undef,"home","work","mobile"); sub SETVALue { if (@_ == 1) { # we're being set my $var = shift; # validate the argument my $success = _validate_constant($var,\@VALUES); if ($success == 1) { print "Yeah\n"; } else { die "You must set a value to one of the following: " . join(",",@VALUES) . "\n"; } } } sub _validate_constant { # first argument is constant my $var = shift(); # second argument is reference to array my @opts = @{ shift() }; my $success = 0; foreach my $opt (@opts) { # return true return 1 if (defined($var) && defined($opt) && $var eq $opt); } # return false return 0; }
以上是大佬教程为你收集整理的如何在Perl中创建枚举类型?全部内容,希望文章能够帮你解决如何在Perl中创建枚举类型?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。