Является ли строка # плюрализованным идемпотентом? - PullRequest
7 голосов
/ 29 февраля 2012

То есть для любой строки string выполняется ли следующее?

string.pluralize == string.pluralize.pluralize

Ответы [ 2 ]

6 голосов
/ 01 марта 2012

множественное число НЕ идемпотентно.Я могу доказать это на примере (любезно предоставлено личной публикацией в Facebook, которая поразила некоторых фанатов языка).

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

Так что «такси» (вещь, которая вас водит) до «такси» (договоренность или заказ) к "налогам" (правильное плюрализация "такси").Я уверен, что есть и другие примеры, но их, конечно, трудно найти.

Не ищу оценки или принятия этого ответа, но я не мог вписать это в комментарии к посту Райана.

4 голосов
/ 29 февраля 2012

Я не могу вспомнить случай, когда это не так.

Я только что попробовал следующие слова, и они не меняются после второй плюрализации. Тем не менее, некоторые из них делают «ломаются» интересными способами по двум причинам: 1) правила множественного числа Rails на самом деле довольно тупые и 2) английский - жесткий .

  • анализ -> анализ -> анализ
  • media -> media -> media
  • новости -> новости -> новости
  • Кактусы -> Кактусы -> Кактусы
  • критерий -> критерии -> критерии
  • foot -> foots -> foots
  • Каравай -> Каравай -> Каравай
  • человек -> человек -> человек
...