以下代码发现无法对数组进行排序。
由于某些原因,最后一项“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"]