Невозможно отсортировать массив в коде Ruby
Следующий код обнаружил, что не удалось отсортировать массив.
По некоторым причинам последний пункт "Аландские острова" был расположен в последнем для этого массива, но он должен располагаться между "Афганистаном" и "Албанией". И это происходит только в случае использования 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"]
1 ответ
Решение
Вот мой комментарий как ответ:
'A'.ord => 65
против
'Z'[0].ord => 90
против
'Åland Islands'[0].ord => 197