【发布时间】:2021-04-27 09:12:34
【问题描述】:
我有这个工作:
my %pnt = %( cardinal => <N E S W>,
ordinal => <N NE E SE S SW W NW>,
half-winds => <N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW>,
);
我认为可以通过编程方式创建半风阵列。
然而,我可怜的尝试似乎更啰嗦:
my @cards = <N E S W>;
my @odds = <NE SE SW NW>;
my @ords = ( @cards Z @odds ).flat;
my @mids = ( ( @cards Z~ @odds ) Z ( @cards.rotate(1) Z~ @odds ) ).flat;
my @halfs = ( @ords Z @mids ).flat;
say @cards; #[N E S W]
say @ords; #[N NE E SE S SW W NW]
say @mids; #[NNE ENE ESE SSE SSW WSW WNW NNW]
say @halfs; #[N NNE NE ENE E ESE SE SSE S SSW SW WSW W WNW NW NNW]
有没有更好/更简洁的替代方案?
即。 https://en.wikipedia.org/wiki/Points_of_the_compass -- 四分之一风的奖励积分!
【问题讨论】:
标签: raku