Я пытаюсь реализовать подпрограмму, которая принимает массив в качестве аргумента (или использует несколько аргументов — все еще не совсем разглядела разницу) и возвращает true или false в зависимости от того, является ли этот массив возрастающей последовательностью ( каждое число должно быть на 1 больше, чем последнее):
isIncreasingArray(1,2,3,4); # true
isIncreasingArray(1,2,3,1); # false
isIncreasingArray(0,9,1); # false
isIncreasingArray(-2,-1,0); # true
isIncreasingArray(1,1,1,1); # false
Вот что я придумал:
sub isIncreasingArray {
my $last;
foreach $n (@_) {
return 0 if defined($last) && $last != $n - 1;
$last = int($n);
}
return 1;
}
Я совершенно новый для Perl, и мне интересно, есть ли более простой или более сжатый способ достижения этого? Кроме того, что я написал в соответствии с лучшими практиками?