也就是说,对于任何字符串
string
,以下内容是否成立?string.pluralize == string.pluralize.pluralize
string
,以下内容是否成立?string.pluralize == string.pluralize.pluralize
复数形式在程序中并不具备幂等性。我可以通过一个例子来证明这一点(感谢一位语言极客的Facebook帖子)。
"taxi".pluralize
=> "taxis"
"taxis".pluralize
=> "taxes"
"taxi".pluralize.pluralize
=> "taxes"
因此,“taxi”(驾驶你四处走动的东西)变成了“taxis”(一种安排或命令),最后是“taxes”(正确的“taxis”的复数形式)。我相信还有其他例子,但它们确实很难找到。
我并不想在这个答案上得分或被接受,但我无法将其完美地适应Ryan帖子的评论中。
"taxi".pluralize
=> "taxis"
和
"taxi".pluralize.pluralize
=> "taxis"
- hoffm我无法想象有哪种情况下不适用。
我刚试了以下单词,第二次的复数形式并没有改变。不过,由于两个原因:1)Rails的复数规则实际上相当愚蠢;2)英语很难,其中一些单词会以有趣的方式“破坏”它们自己。
people
的复数形式是peoples
,而不是people
。也许他们实际上强制它具有这个属性。 - Niklas B.