1

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

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

4 回答 4

7

不要使用加法来连接字符串,而是使用字符串插值:

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

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

于 2012-06-07T19:56:20.127 回答
3

String#%将是另一种选择:

puts "Well it was great to meet you %s %s %s." % [name, middleName, lastName]
于 2012-06-07T20:05:17.250 回答
2

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

puts 'Well it was great to meet you ' + name + ' ' + middleName + ' ' + lastName
于 2012-06-07T19:56:36.480 回答
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 很酷的地方在于,您可以使用功能上等价但语义不同的不同表达式。这使您可以在更高的层次上表达您的意图。

于 2012-06-07T21:05:49.817 回答