C'è un metodo integrato in Ruby per supportare questo?Come convertire 1 in "primo", 2 in "secondo" e così via, in Ruby?
risposta
Come su Linguistics? Non è costruito però. Se vuoi incorporarlo, devi configurarlo usando hash, ecc. Vedi anche per esempi
Questo non risponde esattamente alla tua domanda e non funzionerà in Ruby, ma se sei in Rails , è possibile convertire 1
-1st
, 2
-2nd
, e così via, utilizzando ordinalize
.
Esempio:
1.ordinalize # => "1st"
2.ordinalize # => "2nd"
3.ordinalize # => "3rd"
...
9.ordinalize # => "9th"
...
1000.ordinalize # => "1000th"
E se si vuole virgole in gran numero:
number_with_delimiter(1000, :delimiter => ',') + 1000.ordinal # => "1,000th"
Questo funziona solo in Rails però. – Raf
Volevo un metodo ordinalize che ha "primo, secondo, terzo" piuttosto che '1 °, 2 °, 3 ° - ecco un piccolo frammento che funziona fino a 10 (e ritorna all'ordinamento Rails se non riesce a trovarlo).
class TextOrdinalize
def initialize(value)
@value = value
end
def text_ordinalize
ordinalize_mapping[@value] || @value.ordinalize
end
private
def ordinalize_mapping
[nil, "first", "second", "third", "fourth", "fifth", "sixth", "seventh",
"eighth", "ninth", "tenth" ]
end
end
Ecco come funziona:
TextOrdinalize.new(1).text_ordinalize #=> 'first'
TextOrdinalize.new(2).text_ordinalize #=> 'second'
TextOrdinalize.new(0).text_ordinalize #=> '0st'
TextOrdinalize.new(100).text_ordinalize #=> '100th'
Puoi usare "zeroth" invece di 'nil' in' # ordinalize_mapping' –
Utilizzando umanizzare la gemma, è probabilmente il modo più semplice. Ma, sì, non è costruito in, ma ha solo una dipendenza, quindi penso che la sua una scelta abbastanza buona ..
require 'humanize'
2.humanize => "two"
- 1. Dereferenziare in caso di $ _ [0], $ _ [1] ..... così via
- 2. C'è una libreria per convertire l'intero in primo/secondo/terzo
- 3. Differenza dell'array del primo ordine in Ruby
- 4. ruby: come convertire hash in una matrice
- 5. Transform [: uno, 1,: due, 2] a {: uno => 1,: due => 2} in Ruby
- 6. WPF: come utilizzare 2 convertitori in 1 rilegatura?
- 7. Come convertire minuti di laurea secondo in decimale in java
- 8. Come convertire "0" e "1" in falso e vero
- 9. Cosa significano ..1 e ..2 in R?
- 10. Come convertire numeri interi negativi in binario in Ruby
- 11. In che ordine vengono eseguiti il blocco inizializzatore e le definizioni delle variabili e così via? (in Java)
- 12. Formattazione di ruby per ordinali: '1' come '1', '2' come '2' ecc.
- 13. Convertire Ruby Hash in YAML
- 14. Parametri nominati in Ruby 2
- 15. Come combinare/unire 2 immagini in 1
- 16. Come gestire 2 tableviews in 1 viewController?
- 17. Ruby: Come convertire una stringa in booleana
- 18. Ruby/Rails - Come convertire secondi in tempo?
- 19. Convertire un'immagine in 2 colori in Java
- 20. Come ottenere localizzato Annulla, Fatto e così via?
- 21. Registrazione jQuery click, primo e secondo scatto
- 22. Ruby: come posso convertire un array di dati in hash e in formato json?
- 23. Phonegap, Cordova successo in caso di accensione ogni 1 secondo
- 24. Regex $ 1, $ 2, ecc.
- 25. In Javascript, perché [1, 2] == [1, 2] o ({a: 1}) == ({a: 1}) falso?
- 26. Come posso associare il secondo argomento in una funzione ma non il primo (in modo elegante)?
- 27. Epoll e arresto a 1 via remoto
- 28. Come convertire una stringa in UTF8 in Ruby
- 29. Convertire la data gregoriana in data persiana (jalali) in angular 2 e Ionic 2
- 30. Come convertire l'array di ruby in array C con RubyInline?
wow, è quella classe stato portato su php ..? ottimo, +1 – dmp
Va bene per me. grazie – Yen
Credo che "prima" è il metodo ordinata, "prima" è il metodo ordinale – rogerdpack