我制作了一个节目。显示的名称不以空格分隔。有没有人知道如何做到这一点?
puts 'hello there, what is your forename?'
forename = gets.chomp
puts 'your middlename?'
middlename = gets.chomp
puts 'and your last name?'
surname = gets.chomp
puts 'so your full name is, ' + forename + middlename + surname + '. '
答案 0 :(得分:3)
没有空格,因为您没有在任何地方打印它们。您可以插入变量(记住"
双引号):
puts "so your full name is, #{forename} #{middlename} #{surname}."
或明确地与空格' '
连接:
puts 'so your full name is, ' + forename + ' ' + middlename + ' ' + surname + '. '
答案 1 :(得分:3)
gets.chomp
方法本身不会捕获任何空格。你必须自己添加它们。
另一种Ruby方法是通过join
方法。
puts "So your full name is, #{[forename, middlename, surname].join(' ')}."
根据大卫建议形成一个完整的答案,在加入前使用compact
,以避免空中名和空间加倍。
puts "So your full name is, #{[forename, middlename, surname].compact.join(' ')}."
答案 2 :(得分:0)
我不是Ruby人(说实话我不知道Ruby),但你可以试试这个
puts 'so your full name is, ' + forename + ' ' + middlename + ' ' + surname + '. '