ruby-on-rails - 对具有波兰语字符的字符串数组进行排序

标签 ruby-on-rails ruby arrays

我在对包含带有特殊波兰字符的字符串的数组进行排序时遇到问题。我的代码如下所示:

 ["Łotwa", "Luksemburg", "Anglia"].sort_by{|x| ActiveSupport::Inflector.transliterate(x)}

这段代码给出了以下结果:

["Anglia", "Łotwa", "Luksemburg"]

但它应该看起来像这样:

["Anglia", "Luksemburg", "Łotwa"]

我尝试使用这些 gem :

https://github.com/grosser/sort_alphabetical
https://github.com/jarib/ffi-icu

但他们没有解决这个问题。问题是由特殊的波兰字符“Ł”引起的。

最佳答案

您可以使用string_case_pl gem :

require 'string_cmp_pl'
%w(Anglia Litwa Zanzibar Łotwa).sort
# => ["Anglia", "Litwa", "Łotwa", "Zanzibar"]

关于ruby-on-rails - 对具有波兰语字符的字符串数组进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24931050/

相关文章:

ruby-on-rails - 如何在 Rails 中禁用数据后重新启用提交按钮

ruby-on-rails - 堆栈跟踪的其余部分在哪里?

ruby-on-rails - 如何使用来自 git hook post-receive 的特定 rvm gemset 进行 bundle 安装?

ruby-on-rails - Rails db migrate 生成迁移文件

ruby - 在 ruby​​ 中使用自动创建插入数组

ruby 导轨 : How Rails handle same method name in in two different gems

php - 使用公共(public)列检索所有登录的 session 数据

php - 函数不知从哪里输出数组 0 个元素

arrays - 在 Ruby 中将多维数组转换为哈希

ruby-on-rails - Heroku Platform API - 单个 Heroku 应用程序的 OAuth token