【发布时间】:2015-04-22 20:52:10
【问题描述】:
输入字符串:
1654AaBcDddeeFF
输出字符串:
1456acddeeABDFF
我试过的代码:
test_array = []
'1654AaBcDddeeFF'.each_byte do |char|
test_array << char
end
test_array.sort.pack('C*')
# => 1456ABDFFacddee
但我想最后看到大写字符。
【问题讨论】:
-
所以你必须尽量让你的程序不区分大小写。
-
你可以重载并编写一些自定义排序。
-
@ChaseGilliam 不是纳粹,但“重载”不是红宝石约定,甚至是不可能的。 Jörg W Mittag 写了一个excellent post 解释这个概念。
Array#sort还允许您指定任何您想要的自定义排序 -
@engineersmnky 好的,你是对的。但是,您可以 def ... end 是的,Array#sort 是一种更好的方法。