Es decir, para cualquier cadena string
, ¿tiene lo siguiente?¿Es la cadena # pluralize idempotent?
string.pluralize == string.pluralize.pluralize
Es decir, para cualquier cadena string
, ¿tiene lo siguiente?¿Es la cadena # pluralize idempotent?
string.pluralize == string.pluralize.pluralize
No puedo pensar en un caso en el que no sería así.
Acabo de probar las siguientes palabras y no cambia después de una segunda pluralización. Sin embargo, algunos de ellos hacen "romper" de maneras interesantes debido a dos razones: 1) Las reglas de pluralización de Rails son bastante tontas y 2) Inglés es difícil.
¿Cuál es la cadena de "persona"? 'persona -> gente -> gente'? –
Actualizado con cadenas. –
Hm, eso no me parece consistente. El plural de 'personas' es' gente', no 'gente'. Tal vez en realidad lo obligan a tener esta propiedad. –
pluralizar NO es idempotente. Puedo demostrarlo con el ejemplo (cortesía de una publicación personal en Facebook que afecta a algunos geeks del lenguaje).
"taxi".pluralize
=> "taxis"
"taxis".pluralize
=> "taxes"
"taxi".pluralize.pluralize
=> "taxes"
Así "taxi" (lo que conduce alrededor) a "taxis" (un arreglo u orden) a "impuestos" (la pluralización adecuado de "taxis"). Estoy seguro de que hay otros ejemplos, pero ciertamente son difíciles de conseguir.
No busco puntaje o aceptación en esta respuesta, pero realmente no podría encajar muy bien en los comentarios en la publicación de Ryan.
¡Malditos sean, nombres griegos! – hoffm
A partir de Rails 5 (¿y quizás antes?), Este contraejemplo ya no funciona. '" taxi ".pluralize' =>' "taxis" 'y ' "taxi" .pluralize.pluralize' => '" taxis "' – hoffm
¿Qué sucede si quiero pluralizar taxis? Sin embargo, probablemente sea la decisión correcta. –
¿Qué pasó cuando lo intentó? –
@Don Roby: ¿Quieres decir, al buscar todas las cadenas posibles? –
Me refiero a un conjunto razonable, como en la respuesta de Ryan Bigg. –