Ich lerne Ruby und dachte über einen Binär-> Dezimal-Konverter nach. Es erhält eine binäre Zeichenfolge und konvertiert in Dezimaläquivalent. Gibt es eine Möglichkeit, den aktuellen Iterationsschritt in Ruby zu verfolgen, so dass die Variable "x" entfernt werden kann?Wie behalte ich die Iterationsnummer bei der Verwendung von each_char?
def convert(binary_string)
decimal_equivalent = 0
x=0
binary_string.reverse.each_char do |binary|
decimal_equivalent += binary.to_i * (2 ** x)
x+=1
end
return decimal_equivalent
end
es sagt nicht definiert Methode Zeichen für "0": String – unj2
Welche Version von Ruby verwenden Sie? "ruby --version" um herauszufinden, –
Es sieht aus wie String # Zeichen wurde in 1.8.7 hinzugefügt. Ich werde meine Antwort mit einer Version aktualisieren, die mit früheren Versionen funktioniert. –