我刚开始学习如何编写代码,我正在关注Chris Pine的Ruby教程。我完成了一项练习,让我打印出我的名字,然后是我的中间名,然后是我的姓,最后让我用我的全名来打招呼。我做的一切都正确,除了在最后我打印出我的全名:ParkerJacobsPreyer
我只是想知道如何确保这些变量的输出正确间隔?以下是相关的代码行:
puts 'Well it was great to meet you ' + name + middleName + lastName
答案 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的酷炫之处在于您可以使用功能相同的不同表达式,但语义不同。这可以让你自由地表达你对更高层次的意图。