This channel is intended for people just starting with the Raku Programming Language ( Logs are available at
Set by lizmat on 8 June 2022.
00:25 deoac left 06:44 ab5tract joined 08:22 tea3po joined 08:25 teatwo left 10:14 Manifest0 joined 13:19 teatwo joined 13:23 tea3po left
jgaz I'm trying to smartmatch something that literally looks like `(foo),d` and, given `$x ~~ / (foo),d /`, no amount of `\` escapes around the usual suspects are helping. 14:26
nemokosch First, if that's all you want, you could really just smartmatch a string, or to *.contains('blabla') for containment 14:27
Second, if you want to include literal strings in a regex, quoting is the best option still, / 'blabla' / 14:29
Third, escaping should work nevertheless so what did you try?
jgaz I tried `\(foo\)\,d`. It didn't work. I even tried / 'literal' / -- or so I recall. Trying the / 'literal' / approach now just works. I must have been more tired than I realized. 14:31
Thanks. Sorry to bother.
wait... no it's not. 14:32
I need more coffee. Let me try a few things.
nemokosch Frankly, both versions must work 14:34
If something is off, the problem must be elsewhere
jgaz yep, it is. I got it to match with a tiny test case. 14:35
I must be doing something else wrong on the same line.
nemokosch What is the line? 🧐
"say the line" 😄 14:36
jgaz I found it I was ~ @array[index] on the same line, as part of the gist method to print object details, and the index didn't exist yet because I'm using test input. 14:44
nemokosch Oops 14:47
jgaz yep
wrong... wrong... wrong... right... beautify
17:19 jgaz left 18:39 guifa__ left 20:20 tea3po joined 20:23 teatwo left 20:28 jgaz joined
Tirifto_ Is it not possible to declare a sub within EVAL? (I’m not trying to export the sub from EVAL into the surrounding scope; I am only trying to declare *and use it* within that same EVAL, but I get an error.) 20:38
m: use MONKEY-SEE-NO-EVAL; EVAL “sub foo(Int $x) { $x × 3 }; say foo 3” 20:39
camelia ===SORRY!=== Error while compiling <tmp>
Variable '$x' is not declared. Perhaps you forgot a 'sub' if this was
intended to be part of a signature?
at <tmp>:1
------> e MONKEY-SEE-NO-EVAL; EVAL “sub foo(Int ⏏$x) { $x × 3 }; sa…
nemokosch haha, that's not an EVAL problem 20:41
that's a quoting problem
Tirifto_ Ohhhh
Of course
nemokosch double quotes interpolate $-variables, right?
so the quoting chokes before EVAL could get called
Tirifto_ I immediately got what you meant; sorry for the commotion. xD 20:42
21:20 deoac joined
deoac m: "a\n" ~~ / 'a' <!ww>\s* \n / 21:20
camelia ( no output )
deoac m: say "a\n" ~~ / 'a' <!ww>\s* \n /
camelia 「a
deoac m: say "a\n" ~~ / 'a' <.ws> \n /
camelia Nil
deoac Why do these matches give different results?  The docs ( say they are the same. 21:21
nemokosch because you have an uneven amount of whitespaces in the two regexes 22:22
the first one only demands one whitespace because \s* can match zero-width 22:23
oh, nevermind...
I don't get the table, though
if <ww> is zero-width and \s* can be zero-width, why does the table suggest <ws> is not zero-width? what does it mean? 22:24