Sha256: 9df2b5c148ce4206f37e8260adcf87755b6452e2d674cd1f5647eee093783641
Contents?: true
Size: 555 Bytes
Versions: 323
Compression:
Stored size: 555 Bytes
Contents
package Example; use strict; use warnings; use List::Util 'first'; my @allergens = qw(eggs peanuts shellfish strawberries tomatoes chocolate pollen cats); sub new { my ($class, $score) = @_; my $self = bless {} => $class; $self->{score} = reverse sprintf "%08b", $score; return $self; } sub allergic_to { my ($self, $allergen) = @_; my $index = first { $allergens[$_] eq $allergen } 0..$#allergens; return substr $self->{score}, $index, 1; } sub list { [ grep { $_[0]->allergic_to($_) } @allergens ] } __PACKAGE__;
Version data entries
323 entries across 323 versions & 1 rubygems