在Ruby中定义变量的输出之间放置空格

时间:2012-06-07 19:54:13

标签: ruby

我刚开始学习如何编写代码,我正在关注Chris Pine的Ruby教程。我完成了一项练习,让我打印出我的名字,然后是我的中间名,然后是我的姓,最后让我用我的全名来打招呼。我做的一切都正确,除了在最后我打印出我的全名:ParkerJacobsPreyer我只是想知道如何确保这些变量的输出正确间隔?以下是相关的代码行:

puts 'Well it was great to meet you ' + name + middleName + lastName

4 个答案:

答案 0 :(得分:7)

不使用add来连接字符串,而是使用字符串插值:

puts "Well it was great to meet you #{name} #{middleName} #{lastName}."

请注意,要使#{variable}语法有效,您必须使用双引号(")而不是单引号(')。

答案 1 :(得分:3)

String#%将是另一种选择:

puts "Well it was great to meet you %s %s %s." % [name, middleName, lastName]

答案 2 :(得分:2)

有几种方法。如果还没有进行字符串插值,最简单的方法是:

puts 'Well it was great to meet you ' + name + ' ' + middleName + ' ' + lastName

答案 3 :(得分:0)

如果我们要彻底,你也可以这样做:

first_name, middle_name, last_name = %w[John Q. Public]
msg = "It was great to meet you, %s %s %s.\n"
printf msg, first_name, middle_name, last_name

如果你想对它愚蠢,你甚至可以这样做:

'It was great to meet you, ' << %w[John Q. Public].join(' ') + '.'

Ruby的酷炫之处在于您可以使用功能相同的不同表达式,但语义不同。这可以让你自由地表达你对更高层次的意图。