00:15
lizmat_ joined
00:18
lizmat left
03:33
bruceAxtens joined
|
|||
bruceAxtens | Regarding 'ACTU'.split("").Array.map(-> $v { $v.ord }) | 03:34 | |
(Nil 65 67 84 85 Nil) | |||
why do i get Nil either side? | 03:35 | ||
And how can I not get Nil. I just want the ascii values | |||
03:42
bruceAxtens left
05:15
RavingCodRoller joined
05:33
RavingCodRoller left
|
|||
lakmatiol | Consider using .comb instead of .split(''). | 06:21 | |
m: say 'TUV'.comb.map(*.ord) | 06:22 | ||
09:22
parv joined
09:33
lizmat_ left,
lizmat joined
11:35
parv left
12:12
discord-raku-bot left
12:13
discord-raku-bot joined
|
|||
SmokeMachine | m: say 'TUV'.comb.map(*.ord) # running for lakmatiol#8020 | 13:01 | |
camelia | (84 85 86) | ||
axtens | thank you | 13:48 | |
SmokeMachine | :) | 14:41 | |
15:25
sm2 joined
15:53
parv joined
16:10
parv left
16:24
CIAvash left
16:36
CIAvash joined
16:37
sm2 left
16:39
SmokeMachine left,
tbrowder left
16:40
mjgardner left
16:42
mjgardner joined,
SmokeMachine joined
16:45
tbrowder joined
16:50
suman joined
|
|||
suman | say $_ if $_~~ /regex/ for "file".IO.lines gives the line that match the regex. | 16:50 | |
How to get the line immediately after the match? | |||
gfldex | m: say lines.WHAT; | 17:31 | |
m: .say for lines; | 17:32 | ||
m:``` | 17:34 | ||
for my \l = lines { | |||
last if / 'may' /; | |||
} | |||
say l.head; | |||
``` | |||
m:``` | |||
for my \l = lines() { | |||
last if / 'may' /; | |||
} | |||
say l.head; | |||
``` | |||
17:39
suman left
|
|||
m:``` | 17:41 | ||
my @l = lines; | |||
while @l.shift { | |||
last when / 'may' /; | |||
} | |||
say @l.head; | |||
``` | |||
my @l = lines; | 17:45 | ||
while @l.shift -> $_ { | |||
last when / 'may' /; | |||
} | |||
say @l.head; | |||
17:46
lizmat_ joined
|
|||
Using `.first(/ 'may' /, :kv)` would work too ofc. | 17:46 | ||
17:47
lizmat_ left,
lizmat_ joined
17:49
lizmat left,
lizmat_ left,
lizmat joined
|
|||
Nemokosch | how can I pass an optional argument to a sub? | 18:30 | |
when it's not a constant value | |||
lizmat | sub foo($a = 42) { ... } # $a is optional with 42 as default | 18:31 | |
sub foo($a?) { ... } # $a is optional with Any as default | 18:32 | ||
Nemokosch | wait, it's not even optional... | ||
lizmat | what isn't optional? | ||
Nemokosch | so there is the `extension` sub | ||
it has :$parts = 1 | |||
lizmat | m: sub foo($a = 42) { $a }; say foo | 18:33 | |
camelia | 42 | ||
Nemokosch | I want to set this to the value I figure out | ||
lizmat | :$parts is a named parameter | ||
Nemokosch | yes, my bad | ||
lizmat | sub foo(:$parts = 42) { $parts }; say foo | ||
Nemokosch | the question holds with named parameter š | ||
lizmat | m: sub foo(:$parts = 42) { $parts }; say foo | ||
camelia | 42 | ||
lizmat | m: sub foo(:$parts = 42) { $parts }; say foo parts => 137 | ||
camelia | 137 | ||
Nemokosch | oh okay, so like a hash? | 18:34 | |
lizmat | no | 18:37 | |
a => 42 is a first class citizen in Raku | |||
it's called a Pair | |||
by default, Pairs specified in a call, are interpreted as named arguments | |||
Morfent | if you wrap a pair in parentheses it'll get treated like a positional argument | 19:04 | |
ditto making a slip out of a list of pairs | |||
for variadic named arguments, you need to slip a hash of sorts | 19:05 | ||
lizmat | |%hash ? | ||
Morfent | yep | ||
lizmat | m: my %h = a => 42, b => 666; sub a(:$a, :$b) { dd $a, $b }; a |%h | 19:06 | |
camelia | 42 666 |
||
19:06
ajr joined
|
|||
Nemokosch | I mean, hashes consist of "pairs" if we insist on this terminology | 19:19 | |
lizmat | yes, you could consider a has an unordered list of pairs | 19:28 | |
in fact, if you iterate over a hash, that's exactly what you get | |||
19:29
parv joined
|
|||
lizmat | m: my %h = a => 42, b => 666, c => 137; dd $_ for %h | 19:29 | |
camelia | :b(666) :a(42) :c(137) |
||
lizmat | m: my %h = a => 42, b => 666, c => 137; dd $_ for %h | ||
camelia | :a(42) :c(137) :b(666) |
||
lizmat | note the order is indeterminate | ||
Nemokosch | gotcha | 20:35 | |
21:02
ajr left
21:13
ajr joined
21:18
ajr left
21:43
ajr joined
|