Ruby concaténer des chaînes et ajouter des espaces
J'ai 4 variables de type chaîne de name, quest, favorite_color, speed
qui peut être vide. Je veux concaténer tous ensemble, mettre des espaces entre ceux qui ne sont pas vides. La simplicité du code, j'.e comment simple est de regarder et de comprendre, est plus importante que la vitesse.
Donc:
name = 'Tim'
quest = 'destroy'
favorite_color = 'red'
speed = 'fast'
devient
'Tim destroy red fast'
et
name = 'Steve'
quest = ''
favorite_color = ''
speed = 'slow'
devient:
'Steve slow'
Remarque il est à seulement 1 espace entre "Steve" et "lent".
Comment dois-je faire (de préférence en 1 ligne)?
Vous devez vous connecter pour publier un commentaire.
[name, quest, favorite_color, speed].reject{|s| s.empty?}.join(' ')
empty?
avecblank?
ce qui est nécessaire si votre liste de valeurs peut contenir zéro..compact
en place dereject
-[name,quest,favorite_color,speed].compact.join(' ')
nil
, les éléments qui ont des chaînes vides resterait.Essayer
[name,quest,favorite_color,speed].join(' ').squeeze(' ')
Vous pouvez utiliser injecter: