From 314ee051c170c33d2c912b6750f916b73f9cb507 Mon Sep 17 00:00:00 2001 From: dakkar Date: Sat, 25 Jan 2020 15:35:02 +0000 Subject: fewer temporary variables we can `return` from an inner block, even when that block is executed somewhere else: `return` is lexical! --- lib/MaildirIndexer/Email.rakumod | 8 ++------ 1 file changed, 2 insertions(+), 6 deletions(-) (limited to 'lib/MaildirIndexer/Email.rakumod') diff --git a/lib/MaildirIndexer/Email.rakumod b/lib/MaildirIndexer/Email.rakumod index 4f92106..aabf185 100644 --- a/lib/MaildirIndexer/Email.rakumod +++ b/lib/MaildirIndexer/Email.rakumod @@ -18,11 +18,9 @@ method refs(--> Iterable) { multi split-refs(Any --> Iterable) { return () } multi split-refs(Str:D $str --> Iterable) { - my @result; MaildirIndexer::LogTimelineSchema::Parse::Header.log: { - @result = $/».Str if $str ~~ m{'<' $ = (<-[<>]>+)+ % [ '>' .*? '<' ] '>' }; + return $/».Str if $str ~~ m{'<' $ = (<-[<>]>+)+ % [ '>' .*? '<' ] '>' }; } - return @result; } method addresses (--> Iterable) { @@ -59,11 +57,9 @@ my grammar Address { multi sub extract-addresses(Any --> Iterable) { return () } multi sub extract-addresses(Str:D $str --> Iterable) { - my @result; MaildirIndexer::LogTimelineSchema::Parse::Header.log: { with Address.parse($str) { - @result = $_».Str; + return $_».Str; } } - return @result; } -- cgit v1.2.3