数组 – 将数组匹配到引用数组中的值 – Perl
发布时间:2020-12-16 06:18:38 所属栏目:大数据 来源:网络整理
导读:我有以下数组引用数组: my @holidays = [[2012,'01','02'],[2012,'16'],'02','20'],'04','05','28'],'07','04'],'09','03'],'10','08'],'11','12'],'22'],'12','25']]; 这是IRS在2012年认可的法定假日.我想将数组@dueDate与该数组中的值匹配,如果存在,则返
|
我有以下数组引用数组:
my @holidays = [[2012,'01','02'],[2012,'16'],'02','20'],'04','05','28'],'07','04'],'09','03'],'10','08'],'11','12'],'22'],'12','25']]; 这是IRS在2012年认可的法定假日.我想将数组@dueDate与该数组中的值匹配,如果存在,则返回1或true. while ($holidays[@dueDate]){
print ("Found Holiday t join('-',@dueDate)");
@dueDate = Add_Delta_Days(@dueDate,1);
if ( Day_of_Week(@dueDate) > 5){
@dueDate = Monday_of_Week((Week_Number(@dueDate)+1),$dueDate[0]);
}
}
我目前是否尝试过这种方式 – 而while语句的条件永远不会成立.我尝试过几种不同的引用和解引用假期组合无济于事. 最好的方法是在while语句中操作评估,以便在@dueDate包含上面数组中的日期时块执行. 注意:@dueDate是Date :: Calc标准数组 – (年,月,日) 解决方法
这应该会让你走上正轨.我在你的代码中看到的两个问题 – 数组数组应该在外部部分有正常的括号,并使用~~运算符来比较数组是否相等.
my @holidays = ([2012,'25']);
my $i;
my @duedate = [2012,'02'];
for ($i = 0; $i < @holidays; $i++)
{
if (@holidays[$i] ~~ @duedate)
{
print "matched!!";
}
}
(编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
