--- Begin Message ---
Op 2-5-2020 om 21:09 schreef Roelof Wobben via Pharo-users:


but this seems to work :

cardNumber := '4539 1488 0343 6467'.
cleanDigits := cardNumber copyWithout: Character space.
preWrapDigits := (cleanDigits asArray reverse collectWithIndex: [ :char :idx | (idx even) ifTrue: [ 2 * char digitValue ] ifFalse:[char digitValue]]). wrappedDigits :=  preWrapDigits collect: [ :d | d > 9 ifFalse: [ d ] ifTrue: [ d-9 ] ].
^ wrappedDigits sum isDivisibleBy: 10.

Can the code be more improved ?

Roelof



--- End Message ---

Reply via email to