Going to

https://code.jsoftware.com/wiki/Vocabulary/ErrorMessages#spelling

suggests that you have cut & pasted an invalid character.

Henry Rich

On 12/2/2022 5:47 PM, Jaume wrote:
Thank you both.

Unfortunately neither of your ways work for me.

ev =: (9 3$'A XA YA ZB XB YB ZC XC YC Z')&(4 8 3 1 5 9 7 2 6 { ~ i.)

|spelling error

| ev =: (9 3$'A XA YA ZB XB YB ZC XC YC Z')&(4 8 3 1 5 9 7 2 6 { ~ i.)

| ^


No idea how to solve it. I tried the different & related verbs to no avail.

parse=: ('ABC',:'XYZ') i."1 |:-.&' ';._2 input

|length error

| parse=:('ABC',:'XYZ') i."1|:-.&' ';._2 input

I'm trying to use different input, but all give me the same error message.
I tried reading it from the file, unboxing, making it 'A YB XC Z' ...
without success.

On a different note, I'm writing down all this, breaking down the sentences
so I can understand them in the future too, making it in a literate
programming style. I will add this to my solutions. You can see a work in
progress here:

https://github.com/JaumeGreen/adventofcode/blob/master/2022/day02/log.ijs

Do you prefer if I cite you by name, nick, not at all?

Thanks.


Missatge de Raul Miller <rauldmil...@gmail.com> del dia dv., 2 de des. 2022
a les 20:39:

Here's a cleaned up version of how I approached that (here 'input'
held the raw text of input.txt provided by the aoc website).

parsed=: ('ABC',:'XYZ') i."1 |:-.&' ';._2 input
part1=: {{ +/1+y+3*3|(1+y)-x }}/
part2=: {{ +/(3*y)+4|&.<:x+y }}/

Note that my original implementations were a bit different. For
example, for part 1, I had

scor=: {{
   'op me'=. y
   (1+me)+ 3*op {{ (x |. 2 0 1)i.y}}"0 me
}}

and used
    +/scor parsed

I hope this makes sense,

--
Raul

On Fri, Dec 2, 2022 at 12:40 PM Jaume <greenni...@gmail.com> wrote:
Hello again
I managed to solve it, but I don't like it much, so feel free to educate
me.
Reading the file, and evaluating the result is something that looked
nice:
p =. 1!:1<'day02.input'

+/>ev each cutopen p

xxxx

+/>ev2 each cutopen p

xxxx

Now are the evaluating functions. I really don't like how they are done.
I'd even prefer to create a table and search in it, but I don't know how.
So a select. is used.


ev=: 3 : 0

select. y

case. 'A X' do.

4

case. 'A Y' do.

8

case. 'A Z' do.

3

case. 'B X' do.

1

case. 'B Y' do.

5

case. 'B Z' do.

9

case. 'C X' do.

7

case. 'C Y' do.

2

case. 'C Z' do.

6

end.

)


And the same with different numbers for ev2.

Would this be an appropriate way to approach the problem? Is there a
"better" way?


Thanks.
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm



----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm

Reply via email to