以下代码发现它无法对数组进行排序。
由于某些原因,最后一个项目“奥兰群岛”位于该阵列的最后一个,但它应位于“阿富汗”和“阿尔巴尼亚”之间。 这种情况仅在使用如下的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"]
答案 0 :(得分:4)
以下是我的评论作为答案:
'A'.ord => 65
与
'Z'[0].ord => 90
与
'Åland Islands'[0].ord => 197