j'ai 4 variables de chaîne name, quest, favorite_color, speed
qui pourraient être vides. 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.Ruby concaténer des chaînes et ajouter des espaces
Alors:
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 espace entre 'Steve' et 'lent'.
Comment puis-je faire (de préférence en 1 ligne)?
Quand je teste cela, je reçois l'erreur suivante: « Erreur sur la ligne 5: mauvais type d'argument Symbole (Proc prévu) » Qu'est-ce que je manque? –
Vous utilisez probablement Ruby <1.8.7. Essayez '[nom, quête, couleur_préférée, vitesse] .rejet {| s | s.empty?}. join ('') ' –
Quelle version de Ruby? Pourrait également essayer: [nom, quest, favorite_color, speed] .reject {| s | s.empty?}. join ('') –