--- Begin Message ---
Wouldn't be that hard to implement. We just need a modulo (like I did) when
sending #next to wrap around...
Or even better: a "cyclic" iterator, something like #withWrapDo: ?
-
Benoît St-Jean
Yahoo! Messenger: bstjean
Twitter: @BenLeChialeux
Pinterest: b
--- Begin Message ---
CyclicReadStream. Not in base Pharo.
I wish.
We have atWrap: but not the best.
Phil
On Mon, Dec 3, 2018 at 1:17 PM Richard O'Keefe wrote:
> "if I use do: this ends at the end of the array."
> True. But all that means is that you have to keen on using #do:.
>
> Proces
--- Begin Message ---
It's just a matter of taste and/or habit. Quite frankly, I never think about
using #streamContents nor #readStream or other variations since I've always had
to write that kinda code "the long way" since 1992 !
-
Benoît St-Jean
Yahoo! Messenger: bstjean
Op 3-12-2018 om 17:01 schreef Benoit St-Jean via Pharo-users:
Many many many thanks
For me too
and that is the answer I expect
Two question,
Why is trough StandardFileStream a line
and can this also be rewritten with a StreamContents
Roelof
--- Begin Message ---
Works fine with my Squeak and Pharo code.
Result is 558 in both cases!
-
Benoît St-Jean
Yahoo! Messenger: bstjean
Twitter: @BenLeChialeux
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an
found it.
I use the old reading code from part1.
but on part2 you did add the input to the numbers collection
so numbers was keeping empty
sorry for the noise
Roelof
Op 3-12-2018 om 16:13 schreef Benoit St-Jean via Pharo-users:
| file total numbers index frequencies duplicate |
duplicate
Op 3-12-2018 om 16:13 schreef Benoit St-Jean via Pharo-users:
file := StandardFileStream readOnlyFileNamed: 'C:\Recv\day.1.input'.
[file atEnd] whileFalse: [numbers add: (file nextLine asInteger)].
file close.
very wierd, on my Pharo 7 box I do not work.
I also see a message that temp variables
--- Begin Message ---
I'm on Squeak btw. Tried it in Pharo 6.1 and it looks like number parsing is
different.
Here's a version that works fine on Pharo 6.1
| file total numbers index frequencies duplicate |
duplicate := false.
frequencies := Set new: 15.
frequencies add: 0.
numbers := Ordere
Op 3-12-2018 om 16:08 schreef Benoit St-Jean via Pharo-users:
yep
I did change it by the argument
partTwo: aFileName
| total numbers index frequencies duplicate file |
duplicate := false.
frequencies := Set new: 15.
frequencies add: 0.
numbers := OrderedCollection new: 1000.
total := 0
--- Begin Message ---
Did you change the file name?
-
Benoît St-Jean
Yahoo! Messenger: bstjean
Twitter: @BenLeChialeux
Pinterest: benoitstjean
Instagram: Chef_Benito
IRC: lamneth
Blogue: endormitoire.wordpress.com
"A standpoint is an intellectual horizon of radius zero". (A
yep, on Pharo this is a empty collection.
numbers := OrderedCollection new: 1000.
so index \\ (numbers size) is something divide by zero
Roelof
Op 3-12-2018 om 15:44 schreef Roelof Wobben:
Op 3-12-2018 om 15:30 schreef Benoit St-Jean via Pharo-users:
Thanks,
But at first glance you
Op 3-12-2018 om 15:30 schreef Benoit St-Jean via Pharo-users:
Thanks,
But at first glance you do not use the contents of file anywhere or am I
mistaken.
When I try your code on the real input I see a divide by zero error message.
Roelof
--- Begin Message ---
Concerning Day1, part2 of Advent Of Code 2018, here's my quick take (Coded in a
workspace with Squeak)...
| file total numbers index frequencies duplicate |
duplicate := false.
frequencies := Set new: 15.
frequencies add: 0.
numbers := OrderedCollection new: 1000.
total
Thanks,
I found the function #atWrap who maybe can be handy
Op 3-12-2018 om 13:17 schreef Richard O'Keefe:
"if I use
do: this ends at the end of the array."
True. But
all
"if I use do: this ends at the end of the array."
True. But all that means is that you have to keen on using #do:.
Processing an array repeatedly is as simple as
[true] whileTrue: [
anArray do: [:each |
...]]
I had intended to twist this into
[changes anySatisfy: [:change | ...]
hello Richard,
Thanks, I figured that out already.
What I do not get is how to read the array multiple times.
if I use do: this ends at the end of the array.
Or I must use something as this :
index := 0
if index > arra
Roelof Wobben wrote
"I have to reread the file till the adding causes the same outcome as we
had already"
You have to process the *sequence of changes* repeatedly;
you DON't have to *reread the file*. Somebody already made this point.
Having read the changes into an array, you can iterate repeate
Hello,
Im not going for a quick answer.
For me its about practising and solving it and I do not matter to
me how long it takes,
I have finisched the MOOC and see this as a opportunity to
practice with Pharo ( the syntax and the way things can be sol
Also, given the time that some people solve the puzzle, doing it too nice
is actually not the best use of time in AoC.
Now, I'll try to solve quick and this will for sure lead to interesting
things in Pharo.
>From Reddit, people solve it quick then make it nice.
Phil
On Mon, Dec 3, 2018, 03:45
Thanks,
For the second I have to take a good look.
I have to reread the file till the adding causes the same outcome
as we had already
so for example if we have the sequence :
+3, +3, +4, -2, -4
it has as outc
The key question is "what do you mean by improve"?
I'd start by asking "what are you doing that you will still have to do in
part 2, and what won't you do?" So looking at part 2, you will want to
convert the lines to integers, and
input := Array streamContents: [:lines |
'input.txt' asFileRe
Hello,
I have this code to solve the AOC 2018 day1 part1 challenge
| input input2|
input := Array streamContents: [ :lines |
'input.txt' asFileReference readStreamDo: [ :in |
[ in atEnd ] whileFalse: [ lines nextPut: in nextLine ]]].
input inject: 0 into: [ :sum
22 matches
Mail list logo