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

Reply via email to