En Python, cet idiome pour le formatage des chaînes est assez courant
s = "hello, %s. Where is %s?" % ("John","Mary")
Quel est l'équivalent en Ruby?
En Python, cet idiome pour le formatage des chaînes est assez courant
s = "hello, %s. Where is %s?" % ("John","Mary")
Quel est l'équivalent en Ruby?
Réponses:
Le moyen le plus simple est l' interpolation de chaîne . Vous pouvez injecter de petits morceaux de code Ruby directement dans vos chaînes.
name1 = "John"
name2 = "Mary"
"hello, #{name1}. Where is #{name2}?"
Vous pouvez également formater des chaînes dans Ruby.
"hello, %s. Where is %s?" % ["John", "Mary"]
N'oubliez pas d'y utiliser des crochets. Ruby n'a pas de tuples, juste des tableaux, et ceux-ci utilisent des crochets.
'#{name1}'
n'est pas la même chose que "#{name1}"
.
'#{"abc"}' # => "\#{\"abc\"}"
"#{"abc"}" # => "abc"
Dans Ruby> 1.9, vous pouvez faire ceci:
s = 'hello, %{name1}. Where is %{name2}?' % { name1: 'John', name2: 'Mary' }
Presque de la même manière:
irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"