commit f68cedb8131accb9b05059759b1fa6deedac117f
parent 37233b7232629a49591341f0815c060902ee849e
Author: Samir Parikh <noreply@samirparikh.com>
Date: Tue, 28 Dec 2021 22:41:15 +0000
working on passing test case 17
Diffstat:
1 file changed, 13 insertions(+), 6 deletions(-)
diff --git a/wordy/Wordy.pm b/wordy/Wordy.pm
@@ -6,16 +6,20 @@ use Exporter qw<import>;
our @EXPORT_OK = qw<answer>;
my $pattern = qr/(-?\d+|plus|minus|divided|multiplied)/;
+my $op_regex = qr/plus|minus|divided|multiplied/;
sub answer {
my ($question) = @_;
die "unknown operation" if ($question !~ m/^What/);
say $question;
my @m = ($question =~ m/$pattern/g);
- #say "here is what I found";
- #say "->$_<-" foreach @m;
- #say "total elements: ", scalar @m;
- return $m[0] if (scalar @m == 1 && $m[0] =~ m/-?\d+/);
+ say "here is what I found";
+ say "->$_<-" foreach @m;
+ say "total elements: ", scalar @m;
+ if (scalar @m == 1 && $m[0] =~ m/-?\d+/) {
+ say "I am returning $m[0]";
+ return $m[0];
+ }
my @stack;
foreach (@m) {
push @stack =>
@@ -25,8 +29,11 @@ sub answer {
$_ eq 'divided' ? '/' :
'*' ;
}
- say "@stack";
- return undef;
+ say "<", (join "><", @stack), ">";
+ my $result = eval join ' ', @stack;
+ die "syntax error" if $@;
+ say "I am returning $result";
+ return $result;
}
1;