This channel is intended for people just starting with the Raku Programming Language (raku.org). Logs are available at irclogs.raku.org/raku-beginner/live.html Set by lizmat on 8 June 2022. |
|||
05:13
systems_ joined
|
|||
shad.ow | /[^\s\d.]/ how can i comb with this regex in raku? | 06:07 | |
it doesn't seem to do what i expect it to do | |||
ah got it | 06:10 | ||
/<-[\d.]>/ | 06:11 | ||
07:15
hexology left,
hexology joined
08:12
systems_ left
|
|||
nemokosch | did you deliberately remove \s, by the way? | 11:07 | |
shad.ow | yeah turns out it wasn't in the input | 15:51 | |
perl my @lines = "input.txt".IO.lines; my %gears; for @lines.kv -> $j, $line { for $line.comb(/<-[\d.]>/, match => True) { %gears{$_.from + $j * i} = []; } } for @lines.kv -> $j, $line { for $line.comb(/\d+/, match => True) { for ($_.from - 1)..($_.to) -> $y { for ($j - 1)..($j + 1) -> $x { %gears{$y + $x * i}.append(+$_) if %gears{$y + $x * i}:exists; } } } } say | |||
(gather %gears.values.deepmap(*.take)).sum; say %gears.values.map(-> $ns { $ns.elems == 2 ?? $ns[0] * $ns[1] !! 0 }).sum; | |||
any suggestions to improve this code ? | |||
either making it more idiomatic or concise | |||
nemokosch | match => True might read better as :match | 15:55 | |
$_.from reads better as just .from | |||
It's good to know that the hash is indexed by strings, even if you supply them as numbers | 15:57 | ||
Could you explain why you needed that gather-deepmap-take? | 15:59 | ||
fridge777 | whats the operator for concatenating two lists? im trying to flatten a list of lists but the elements are lists too and i dont want to flatten those... | 16:10 | |
lizmat | m: my @a = 1..5; my @b = "a" .. "e"; @a.append(@b); dd @a # fridge777 like so? | 16:14 | |
camelia | Array @a = [1, 2, 3, 4, 5, "a", "b", "c", "d", "e"] | ||
fridge777 | no like for lists | ||
ok i just found out about the slip operator | |||
still a bit odd though | 16:15 | ||
thanks i can use this | |||
.vushu | @antononcube so as I understand you just wan't to render example wise: "rnbqkbnr/pppppppp/8/8/8/8/PPPPPPPP/RNBQKBNR" ? | 16:36 | |
17:29
kjp left
18:46
MasterDuke joined
|
|||
antononcube | Sounds good. š | 19:23 | |
.vushu | @antononcube cool Iām making the chessboard renderer in a more rakuish way. š | 19:58 | |
antononcube | Hmmā¦ I will try to make a Jupyter notebook that shows how it can be used. | 20:09 | |
20:46
kjp joined
|
|||
sharparam | so with 'file.txt'.IO.lines(:!chomp), that correctly preserves newlines when i read a file, but the same doesn't seem to work with just lines(:!chomp) to read from $*ARGFILES? so how would one go about achieving that? | 22:39 | |
lizmat | If that doesn't work, it's a bug | 22:41 | |
it looks like indeed | 22:42 | ||
sharparam | bummer, what's the correct place for reporting that | 22:43 | |
nemokosch | does it work with $*ARGFILES.lines(:!chomp) by the way? | 22:45 | |
lizmat | nope, investigatinng | ||
sharparam | same issue when doing that | 22:46 | |
nemokosch | ohh | ||
lizmat | yeah, it looks like $*ARGFILES is an instantiated IO::Handle, with $!chomp set to True | 22:47 | |
nemokosch | seems like the underlying IO::Handle lines method doesn't even handle it | 22:48 | |
khm-khm, methods just consuming named arguments... | |||
lizmat | yup.. please make an issue for it, I will look at it tomorrow | ||
22:48
sdomi left
22:49
sdomi joined
|
|||
nemokosch | it's normally the opening step that would handle the chomping | 22:49 | |
but if you are given a file handle directly, there is no opening... | |||
sharparam | yeah, i tried finding which is the proper issue tracker but not readily finding it | 22:51 | |
lizmat | github.com/rakudo/rakudo/issues/new | ||
sharparam | ty | ||
lizmat | no, thank you for noticing and reporting! | ||
sharparam | (not sure if discord reactions bridge to irc?) | 22:52 | |
nemokosch | perhaps not | ||
anyway, this seems rather simple to fix | 22:56 | ||
just gotta make sure the named arguments are kept and properly saved in the method call | |||
sharparam | submitted: github.com/rakudo/rakudo/issues/5487 | 22:58 | |
lizmat | sharparam++ |