【发布时间】:2011-07-24 20:31:48
【问题描述】:
是否可以在 Ruby 中使用特定的排序规则对值数组进行排序?我需要根据 da_DK 排序规则进行排序。
给定数组%w(Aarhus Aalborg Assens),我想返回['Assens', 'Aalborg', 'Aarhus'],这是丹麦语的正确顺序。
标准排序方法
%w(Aarhus Aalborg Assens).sort
返回一些看起来像 ascii 顺序的东西(至少不是丹麦顺序):
["Aalborg", "Aarhus", "Assens"]
环境是 Snow Leopard 和运行 ruby 1.9.2 和 Rails 3.0.5 的 linux。
【问题讨论】:
-
你能解释一下丹麦的订购吗?字母顺序是否与英语不同?
-
铁皮人在他的回答中解释了这一点。许多语言对特殊字符和字符组合都有特殊的规则。这些规则由排序规则定义,例如da_DK 表示丹麦语 og sv_SE 表示瑞典语。
标签: ruby-on-rails ruby ruby-on-rails-3 internationalization collation