我想实现一个映射到整数的字母代码。
例如:

A = 1
B = 2
C = 3
...
Z = 26
AA = 27
AB = 28
...
BA = 53
...
ZZ = 702

做这个映射的最好方法是什么,这样我就可以很容易地从字母代码转换成数字,反之亦然?

最佳答案

('A'..'ZZ').to_a[694] # "ZS"
('A'..'ZZ').to_a.index("ZS") # 694

Ruby数组索引从0开始。如果你真的想从1开始,你可以:
('A'..'ZZ').to_a.unshift(nil)[694] # "ZR"
('A'..'ZZ').to_a.unshift(nil).index("ZR") # 694

关于ruby - 将字母序列映射为整数,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/28166544/

10-12 14:30