Hi Roelof, I started to read you code , can you please give me the implementation of: ByteString>>#includesSubstring: Regards, Nic
On 15 Dec 2018, at 19:36, Roelof Wobben <r.wobben@home.nl> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b <https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b> as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
Regards,
Roelof
p.s. and also Array>>#overlappingPairsCollect: Regards, Nic
On 15 Dec 2018, at 20:52, Nicole de Graaf <nic@soops.nl> wrote:
Hi Roelof,
I started to read you code , can you please give me the implementation of: ByteString>>#includesSubstring:
Regards, Nic
On 15 Dec 2018, at 19:36, Roelof Wobben <r.wobben@home.nl <mailto:r.wobben@home.nl>> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b <https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b> as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
Regards,
Roelof
Hi Roelof, the result of: FindNiceStrings new isNice: testData >> #('haegwjzuvuyypxyuâ). First idee is your algo is fine, but you test assert correct implemented (I can be wrong side I use not Pharo 7 or 6) My implementation: testisNice "comment stating purpose of message" | testData | testData := #('ugknbfddgicrmopn' 'aaa' 'jchzalrnumimnmhp' 'haegwjzuvuyypxyu'). self assert: (FindNiceStrings new isNice: testData) equals: #('haegwjzuvuyypxyuâ) is working fine. Please can you check it on your side! Regards, Nic
On 15 Dec 2018, at 21:20, Roelof Wobben <r.wobben@home.nl> wrote:
You can find that one also with the finder.
overlappingPairsCollect: aBlock "Answer the result of evaluating aBlock with all of the overlapping pairs of my elements." | retval | retval := self species ofSize: self size - 1. 1 to: self size - 1 do: [:i | retval at: i put: (aBlock value: (self at: i) value: (self at: i + 1)) ]. ^retval
can be found at sequenceCollection.
Roelof
Op 15-12-2018 om 21:03 schreef Nicole de Graaf:
p.s. and also Array>>#overlappingPairsCollect:
Regards, Nic
On 15 Dec 2018, at 20:52, Nicole de Graaf <nic@soops.nl <mailto:nic@soops.nl>> wrote:
Hi Roelof,
I started to read you code , can you please give me the implementation of: ByteString>>#includesSubstring:
Regards, Nic
On 15 Dec 2018, at 19:36, Roelof Wobben <r.wobben@home.nl <mailto:r.wobben@home.nl>> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b <https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b> as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
Regards,
Roelof
Hi Roelof, Question: With your âfileoutâ can I run all test. (Green) or only the last one #testisNice. I started with: #test1CheckForForbiddenParts that is failing .. the substring is not in the input! Regards, Nic
Op 15-12-2018 om 20:52 schreef Nicole de Graaf:
Hi Roelof,
I started to read you code , can you please give me the implementation of: ByteString>>#includesSubstring:
Regards, Nic
On 15 Dec 2018, at 19:36, Roelof Wobben <r.wobben@home.nl <mailto:r.wobben@home.nl>> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b <https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b> as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
Regards,
Roelof
Hi Roelof, on my side all the test methods went green: changes I need to apply: 1. checkForbiddenParts: word "deletes all the words that contain forbidden parts" ^( forbiddenWords anySatisfy: [ :forbidden | word includesSubstring: forbidden ]) not 2. testisNice "comment stating purpose of message" | testData | testData := #('ugknbfddgicrmopn' 'aaa' 'jchzalrnumimnmhp' 'haegwjzuvuyypxyu'). self assert: (FindNiceStrings new isNice: testData) equals: #('ugknbfddgicrmopn' 'aaaâ) Regards, Nic
On 15 Dec 2018, at 19:36, Roelof Wobben <r.wobben@home.nl> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b <https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b> as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
Regards,
Roelof
On Sun, 16 Dec 2018 at 02:37, Roelof Wobben <r.wobben@home.nl> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
You seem to already have fixed that problem, so just some general feedback... Your #isNice is an instance method, so you are already inside a FindNiceStrings object. So you don't need... ```niceStringsObject := FindNiceStrings new.``` Just use self. By convention, all #isXXXXX methods should return a Boolean Your ```isNice: aCollection``` method returns a collection. That would be better renamed #selectNice: The two #and: messages inside the #select: makes that a bit verbose. I'd refactor that condition out to its own method, i.e. ```isNice: aWord``` since that was freed up So you would have: ``` FindNiceStrings selectNice: aCollection ^ aCollection select: [ :word | self isNice: word ] ```
self assert: (FindNiceStrings new checkForbiddenParts: string) equals: true
The "equals: true" part is redundant. cheers -ben
On Sun, 16 Dec 2018 at 19:57, Roelof Wobben <r.wobben@home.nl> wrote:
Op 16-12-2018 om 12:34 schreef Ben Coman:
On Sun, 16 Dec 2018 at 02:37, Roelof Wobben <r.wobben@home.nl> wrote:
Hello,
I have this code : https://gist.github.com/RoelofWobben/7c08680797d1d9f84436653a0e4edd3b as my solution to a AoC challenge.
But the last test `testIsNice` is still outputting the wrong output. The right output is : `ugknbfddgicrmopn ` and `aaa`
Someone who can think with me where I make a thinking error so that the right output is seen.
You seem to already have fixed that problem, so just some general feedback...
Your #isNice is an instance method, so you are already inside a FindNiceStrings object. So you don't need... ```niceStringsObject := FindNiceStrings new.``` Just use self.
By convention, all #isXXXXX methods should return a Boolean Your ```isNice: aCollection``` method returns a collection. That would be better renamed #selectNice:
The two #and: messages inside the #select: makes that a bit verbose. I'd refactor that condition out to its own method, i.e. ```isNice: aWord``` since that was freed up So you would have: ``` FindNiceStrings selectNice: aCollection ^ aCollection select: [ :word | self isNice: word ] ```
self assert: (FindNiceStrings new checkForbiddenParts: string) equals: true
The "equals: true" part is redundant.
cheers -ben
Thanks,
So the isNice function has all the code with the 2 times and.
and what must i use when a test is false so instead of equals: false
Evaluate this... ```#deny: senders inspect```
participants (3)
-
Ben Coman -
Nicole de Graaf -
Roelof Wobben