什么是Ruby相当于Python的`s =“你好,%s。%s在哪里?” %(“约翰”,“玛丽”)`

时间:2010-08-24 07:34:52

标签: python ruby string-formatting

在Python中,这种用于字符串格式化的习惯用法很常见

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

Ruby中的等价物是什么?

4 个答案:

答案 0 :(得分:234)

最简单的方法是string interpolation。您可以将少量Ruby代码直接注入到字符串中。

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

您也可以在Ruby中格式化字符串。

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

请记住在那里使用方括号。 Ruby没有元组,只有数组,而且使用方括号。

答案 1 :(得分:51)

在Ruby> 1.9你可以这样做:

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

See the docs

答案 2 :(得分:19)

几乎相同的方式:

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

答案 3 :(得分:9)

其实几乎一样

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