String#pluralize idempotent?

时间:2012-02-29 19:21:24

标签: ruby-on-rails ruby string plural idempotent

也就是说,对于任何字符串string,以下是否保持?

string.pluralize == string.pluralize.pluralize

2 个答案:

答案 0 :(得分:6)

复数不是幂等的。我可以通过例子来证明这一点(由于某个语言极客的个人Facebook帖子提供了礼貌)。

"taxi".pluralize
=> "taxis"
"taxis".pluralize
=> "taxes"
"taxi".pluralize.pluralize
=> "taxes"

所以“出租车”(驱使你的东西)到“出租车”(一种安排或命令)来“征税”(“出租车”的适当多元化)。我确信还有其他一些例子,但肯定很难找到。

没有在这个答案上寻找得分或接受,但我不能很好地适应Ryan的帖子中的评论。

答案 1 :(得分:4)

我想不出它不会的情况。

我只是尝试了下面的单词,并且在第二次复数后它没有改变。然而,其中一些以有趣的方式“打破”,原因有两个:1)Rails的复数规则实际上非常愚蠢2)英语 hard

  • 分析 - >分析 - >分析
  • 媒体 - >媒体 - >媒体
  • 新闻 - >新闻 - >消息
  • cactii - > cactiis - > cactiis
  • 标准 - >标准 - >判据
  • 脚 - >脚 - >脚灯
  • loaf - >面包 - >游荡
  • person - >人 - >人