152 votes

Qu'est-ce que Ruby équivalent de Python " s= "bonjour %s. Où est %s?" % ("Jean","Marie")`

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

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

Quel est l'équivalent en Ruby?

267voto

AboutRuby Points 4675

Le plus simple est de la chaîne de l'interpolation. Vous pouvez injecter des petits morceaux de code en Ruby directement dans vos cordes.

name1 = "John"
name2 = "Mary"
"hello, #{name1}.  Where is #{name2}?"

Vous pouvez également faire des chaînes de format en Ruby.

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

Rappelez-vous d'utiliser les crochets. Ruby n'a pas de n-uplets, juste des tableaux, et ceux utiliser les crochets.

55voto

toong Points 539

En Ruby 1.9, vous pouvez faire ceci:

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

Edit: ajouté manquant ':'s

Référence: http://ruby-doc.org/core-1.9.3/String.html

21voto

Manoj Govindan Points 24030

Presque de la même manière:

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

10voto

Oleg Grenrus Points 1193

En fait presque la même

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

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X