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

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

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

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

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

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

字符串#%将是另一种选择:

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

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

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

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

 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酷的原因是你可以使用function相同但语义不同的不同表达式。 这可以让您释放出更高层次的意图。