Login  Register

how can I improve this

Posted by Pharo Smalltalk Users mailing list on Sep 14, 2020; 7:15pm
URL: https://forum.world.st/how-can-I-improve-this-tp5121828.html

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