fork download
  1. def parse_excel_row_id(string)
  2. string.each_char.inject(0) { |row_num, alpha| row_num * 26 + (alpha.ord - 'A'.ord + 1) }
  3. end
  4.  
  5.  
  6. printf "'A' --> %d", parse_excel_row_id('A')
  7. puts
  8. printf "'AA' --> %d", parse_excel_row_id('AA')
  9. puts
  10. printf "'AAA' --> %d", parse_excel_row_id('AAA')
  11. puts
  12. printf "'ZZZ' --> %d", parse_excel_row_id('ZZZ')
  13. puts
  14.  
Success #stdin #stdout 0.05s 9608KB
stdin
Standard input is empty
stdout
'A'   --> 1
'AA'  --> 27
'AAA' --> 703
'ZZZ' --> 18278