6 votes

Comment revenir à la forme adverbiale du mot

Je me demande s'il existe une méthode en Ruby pour transformer un mot tel que month en monthly.

Similaire à pluralize(mot)

7voto

Mark Szymanski Points 6697

Je ne pense pas qu'il y ait de méthode intégrée, mais vous pourriez en écrire une simple vous-même :

CONSONANTS = [ 'b', 'c', 'd', 'f', 'g', 'h', 'j', 'k', 'l', 'm', 'n', 'p', 'q', 'r', 's', 't', 'v', 'w', 'x', 'y', 'z' ]

def adverbize(word)
  if word[-2,2] == "ly"
     word
  elsif word.length <= 3 and word[-1] == "y"
    word + "ly"
  elsif word[-2,2] == "ll"
     word + "y"
  elsif CONSONANTS.include? word[-3] and word[-2,2] == "le"
     word.sub(/e$/, "y")
  elsif word[-1] == "y"
     word.chop + "ily"
  else
     word + "ly"
  end

Une autre façon de faire cela, qui fonctionnera à chaque fois (c'est surtout une blague, mais vous pouvez l'utiliser si vous le souhaitez)

def adverbize(word)
    "D'une manière " + word + "."
end

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X