Re: how can I improve this
Posted by
Pharo Smalltalk Users mailing list on
Sep 14, 2020; 8:22pm
URL: https://forum.world.st/how-can-I-improve-this-tp5121828p5121836.html
Nice one but I learned I can never
trust the input of a user
but I think I can use that code instead of my big code.
I will try it tomorrow after some good sleep.
Roelof
Op 14-9-2020 om 22:19 schreef Hernán Morales Durand:
Hi Roelof,
Maybe something like this:
String>>hammingDistanceTo: aString
" Answer the amount of substitutions between the receiver and aString. Both must be of equal length "
^ (1 to: self size) count: [ : i | (self at: i) ~= (aString at: i) ]
El lun., 14 sept. 2020 a las
16:15, Roelof Wobben via Pharo-users (<
[hidden email]>)
escribió:
Hello,
I have solved the hamming challenge of exercism where I have
to find in
how many places two strings are different.
my solution is :
distanceStrand1: aString strand2: aString2
aString size == aString2 size
ifFalse: [ DomainError signal: (self messageFor:
aString
strand2: aString2) ].
^ (1 to: aString size)
sumNumbers: [ :index |
(aString at: index) == (aString2 at: index)
ifTrue: [ 0 ]
ifFalse: [ 1 ] ]
messageFor: aString strand2: aString2
aString notEmpty & aString2 notEmpty
ifTrue: [ ^ 'left and right strands must be of equal
length' ].
aString ifEmpty: [ ^ 'left strand must not be empty' ].
^ 'right strand must not be empty'
Can this be improved?
Roelof