From ec09b571a6f2186fec8870a071a8d5d38596c850 Mon Sep 17 00:00:00 2001 From: 冯昶 Date: Mon, 14 Sep 2020 16:43:03 +0800 Subject: challenge #078 --- challenge-078/feng-chang/raku/ch-1-b.raku | 9 +++++++++ challenge-078/feng-chang/raku/ch-1.raku | 13 +++++++++++++ challenge-078/feng-chang/raku/ch-2.raku | 11 +++++++++++ 3 files changed, 33 insertions(+) create mode 100755 challenge-078/feng-chang/raku/ch-1-b.raku create mode 100755 challenge-078/feng-chang/raku/ch-1.raku create mode 100755 challenge-078/feng-chang/raku/ch-2.raku diff --git a/challenge-078/feng-chang/raku/ch-1-b.raku b/challenge-078/feng-chang/raku/ch-1-b.raku new file mode 100755 index 0000000000..9b41fdd853 --- /dev/null +++ b/challenge-078/feng-chang/raku/ch-1-b.raku @@ -0,0 +1,9 @@ +#!/bin/env raku + +sub leaders(@A) { + @A[(^@A.elems).grep: { @A[$_] > @A[$_+1 .. *-1].all }]; +} + +say leaders(Array.new(9, 10, 7, 5, 6, 1)); +say leaders(Array.new(3, 4, 5)); +say leaders(Array.new()); diff --git a/challenge-078/feng-chang/raku/ch-1.raku b/challenge-078/feng-chang/raku/ch-1.raku new file mode 100755 index 0000000000..7265e72c71 --- /dev/null +++ b/challenge-078/feng-chang/raku/ch-1.raku @@ -0,0 +1,13 @@ +#!/bin/env raku + +sub leaders(@A) { + gather { + for 0 ..^ @A.elems -> $i { + take @A[$i] if @A[$i] > all(@A[$i+1..*-1]); + } + } +} + +say leaders(Array.new(9, 10, 7, 5, 6, 1)); +say leaders(Array.new(3, 4, 5)); +say leaders(Array.new()); diff --git a/challenge-078/feng-chang/raku/ch-2.raku b/challenge-078/feng-chang/raku/ch-2.raku new file mode 100755 index 0000000000..b4305b7ddc --- /dev/null +++ b/challenge-078/feng-chang/raku/ch-2.raku @@ -0,0 +1,11 @@ +#!/bin/env raku + +my @A = <10 20 30 40 50>; +my @B = <3 4>; +@A.rotate($_).say for @B; + +say '=' x 16; + +@A = <7 4 2 6 3>; +@B = <1 3 4>; +@A.rotate($_).say for @B; -- cgit