Sha256: 657293e4c6de2ae99ff214442ed216282672ac936c5702b7934efff8767210c9
Contents?: true
Size: 704 Bytes
Versions: 114
Compression:
Stored size: 704 Bytes
Contents
exercise: Luhn version: 2 plan: 16 subs: is_luhn_valid tests: |- is $subs{is_luhn_valid}->($_->{input}), $_->{expected}, $_->{description} foreach @{$C_DATA->{cases}}; example: |- sub is_luhn_valid { my ($input) = @_; $input =~ s/\s+//g; if (length $input < 2 || $input =~ /\D+/) {return 0} my @num = split(//, $input); unshift @num, 0 if scalar @num % 2; my $count = 1; my $sum = 0; foreach (@num) { if ($count % 2) { $sum += $_ * 2; $sum -= 9 if $_ * 2 > 9; } else { $sum += $_; } $count += 1; } if ($sum % 10) {return 0}; return 1; } stub: |- sub is_luhn_valid { my ($input) = @_; }
Version data entries
114 entries across 114 versions & 1 rubygems