--- Begin Message ---
Hello,

I have to make some code that convert a binary to a decimal and im not allowed to use the convert methods that Pharo has.

So I have written this :


decimalFromBinary: aString
    | result isValid |
    isValid = self isValidBinary: aString.
    isValid
        ifTrue: [ result := 0.
            aString reverse
                withIndexDo:
                    [ :digit :index | result := result + (digit digitValue * (2 raisedTo: index - 1)) ].
            ^ result ]
        ifFalse: [ ^ nil ]

isValidBinary: aString
    ^ aString allSatisfy: [ :c | c = 0 or: [ c = 1 ] ]


but on the first method I see a message that the temp variables are read before written. and the second one I see a message that I use a or instead of searching literals.

Where did  I think wrong here ?

Roelof



--- End Message ---

Reply via email to