3

以下代码发现无法对数组进行排序。

由于某些原因,最后一项“Aland Islands”位于该数组的最后一项,但它应该位于“Afghanistan”和“Albania”之间。这仅在使用下面的 iso3166 的情况下发生,但在刮擦时不会发生。有任何想法吗?

$ which ruby
~/.rvm/rubies/ruby-1.9.3-p362/bin/ruby

$ cat test.rb
#!/usr/bin/env ruby
# coding: utf-8

require 'iso3166'

countries = ISO3166::Country::all.map do |c|
  c.first
end

p countries.sort

$ ruby test.rb
["Afghanistan", "Albania", ... etc ... "Zambia", "Zimbabwe", "Aland Islands"]
4

1 回答 1

4

这是我的评论作为答案:

'A'.ord => 65 

相对

'Z'[0].ord => 90

相对

'Åland Islands'[0].ord => 197
于 2013-01-06T04:30:45.220 回答