Quel est l'équivalent Ruby de `s=" hello,% s de Python. Où est% s? "%(" John "," Mary ")`



string-formatting (4)

En Python, cet idiome pour la mise en forme de chaîne est assez commun

s = "hello, %s. Where is %s?" % ("John","Mary")

Quel est l'équivalent en Ruby?


Presque de la même manière:

irb(main):003:0> "hello, %s. Where is %s?" % ["John","Mary"]
=> "hello, John. Where is Mary?"

Dans Ruby> 1.9, vous pouvez faire ceci:

s =  'hello, %{name1}. Where is %{name2}?' % { name1: 'John', name2: 'Mary' }

Voir les docs


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 faire des chaînes de formatage dans Ruby.

"hello, %s.  Where is %s?" % ["John", "Mary"]

N'oubliez pas d'utiliser des crochets ici. Ruby n'a pas de tuples, juste des tableaux, et ceux-ci utilisent des crochets.


En fait presque le même

s = "hello, %s. Where is %s?" % ["John","Mary"]




string-formatting