J'ai 4 variables de chaîne name, quest, favorite_color, speed
qui pourrait être vide. Je veux les concaténer tous ensemble, en mettant des espaces entre ceux qui ne sont pas vides. La simplicité du code, c'est-à-dire combien il est simple 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'
Notez qu'il n'y a qu'un seul espace entre 'Steve' et 'slow'.
Comment dois-je procéder (de préférence en 1 ligne)?
[name, quest, favorite_color, speed].reject(&:empty?).join(' ')
Essayez [name,quest,favorite_color,speed].join(' ').squeeze(' ')