This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
01:16 razetime joined 01:30 MasterDuke joined 02:04 gfldex left 02:06 gfldex joined
thowe in Raku regex, how do you match NOT a character. Like, NOT 'a'? Wouldn't it be something like !a? 02:34
I'm trying to match "a string of any characters that doesn't include a tab". 02:35
I came up with <-[\t]>+ is that right? seems to work. 02:40
02:44 teatwo left 02:46 teatime joined 02:58 teatime left, teatime joined 03:33 poohman joined 03:35 poohman left, poohman joined 04:24 razetime left 04:45 razetime joined 04:59 razetime left 05:44 poohman left 05:45 siavash joined 07:22 siavash is now known as CIAvash 07:59 habere-et-disper joined
habere-et-disper Hello Rackoons ! o/\o 08:00
What's are some other ways of saying `[==] @array` ?
I feel like I want to say `@array.all ...` but get stuck. 08:01
08:02 dakkar joined
nemokosch Probably not 08:02
habere-et-disper Okay -- thanks. 08:06
nemokosch There could be something like, "is the number of unique values 1" but i don't think that's better than the reduction 08:08
habere-et-disper Thanks -- I forget about `unique`, like I do `first`.
nemokosch With all, what about @array.head == @array.skip.all 08:09
habere-et-disper Clever, but you're right that the intent is getting lost. 08:10
One other one... here I'm looking for patterns of 2 of a kind together with 3 of a kind in a dice roll: `[5,5,4,5,4].Bag.values.sort ~~ (2,3)`. Does that look iffy ? 08:11
08:13 teatwo joined
nemokosch It would be nice imo to get away without the sort 08:14
habere-et-disper That's what I was aiming for too. 08:15
08:15 teatwo left, teatwo joined 08:16 teatime left
nemokosch m: [5,5,4,5,4].Bag.values ~~ Set(2,3) andthen .say 08:18
Raku eval True
nemokosch worth a try
Yeah, this seems okay. But then at this point actually we might as well just use (==) 08:21
m: [5,5,4,5,4].Bag.values (==) (2,3) andthen .say
Raku eval True
habere-et-disper m: [5,5,4,5,4].Bag.values.contains( 2 & 3) 08:39
camelia ( no output )
habere-et-disper m: [5,5,4,5,4].Bag.values.contains( 2 & 3).say
camelia all(True, True)
nemokosch uh oh, I think contains is the wrong one 08:40
yes, this works on a string
m: (1 xx 12).Bag.values.contains( 2).say 08:41
Raku eval True
nemokosch but anyway, this would only be the (<=) direction of the check 08:43
habere-et-disper Right. So why not grep : 08:44
m: [1,1,2,1,2].Bag.values.grep( 2 & 3 ).so.say
camelia False
nemokosch contains (besides being a string search) acts on individual values 08:46
grep, however, is a matcher kind of function; it doesn't distribute over the junction
now good luck finding a value that matches to 2 & 3 😄 08:47
m: [1,1,2,1,2].Bag.values.grep( 2 | 3 ).so.say
Raku eval True
nemokosch "is there at least one value that is either 2 or 3"
not too useful or readable
habere-et-disper I understand now. Thank you for explaining. (y) 08:49
08:49 ab5tract joined
nemokosch 🍬 08:50
09:59 ab5tract left 10:27 habere-et-disper left 12:20 CIAvash left 12:22 jgaz left, jgaz_ joined 12:36 ab5tract joined 12:57 ab5tract left 13:22 poohman joined 13:29 ab5tract joined 15:12 ab5tract left 16:18 razetime joined 16:35 dakkar left 17:30 poohman left 17:52 razetime left 19:17 habere-et-disper joined 19:19 habere-et-disper left 20:14 tea3po joined 20:18 teatwo left 20:24 tea3po left 20:25 tea3po joined