Как бы вы справились с двусмысленностью букв выше 10 (J)?
Например, как бы вы различали BKC=2113
и BAAC=2113
?
Не обращая внимания на эту проблему, вы можете сделать это:
def string_to_funny_number(str)
number=''
str.each_byte{|char_value| number << (1 + char_value - 'A'.ord).to_s}
return number.to_i
end
Эта функция сгенерирует правильное значение int, объединяя каждое буквенное значение (A = 1, B = 2, ...)
Помните, что эта функция не очищает ввод, так как я предполагаю, что вы используете его с выводом из другой функции.