我在ruby中遇到了一个分支问题

我在ruby中遇到了一个分支问题,ruby,syntax-error,branch,Ruby,Syntax Error,Branch,问题,我试图在我的命令行中运行这个。我正在使用最新的ruby,在Windows上。。。是我的电脑吗? 语法错误,意外的t标识符是弹出的消息 puts "Hello, what\'s your name?" name = gets.chomp puts "Hello, " + name + "." if name == 'Chris' puts "What a lovely name!" if name == 'Joey' puts "Wow! That\'s an even better na

问题,我试图在我的命令行中运行这个。我正在使用最新的ruby,在Windows上。。。是我的电脑吗? 语法错误,意外的t标识符是弹出的消息

puts "Hello, what\'s your name?"
name = gets.chomp puts "Hello, " + name + "."

if name == 'Chris' puts "What a lovely name!"
if name == 'Joey' puts "Wow! That\'s an even better name than Chris"
gets

我在哪里搞砸了?

代码不见了
end
<代码>测试表达式和
正文
应该分开,除非您使用
然后

puts "Hello, what\'s your name?"
name = gets.chomp
puts "Hello, " + name + "." # This line should be separated from previous line.

if name == 'Chris'
  puts "What a lovely name!"
end # <----
if name == 'Joey'
  puts "Wow! That\'s an even better name than Chris"
end # <---
gets
放“你好,你叫什么名字?”
name=gets.chomp
将“Hello”、+name+“#这一行应与前一行分开。
如果name=='Chris'
写着“多么可爱的名字!”

end#看起来很小的偏好错误:

puts "Hello, what\'s your name?"
name = gets.chomp
puts "Hello, " + name + "."

puts "What a lovely name!" if name == 'Chris' 
puts "Wow! That\'s an even better name than Chris" if name == 'Joey' 
gets
如果(双关语)你想把这些写在一行上

if name == 'Chris' puts "What a lovely name!"
if name == 'Joey' puts "Wow! That\'s an even better name than Chris"
像这样做

puts "What a lovely name!" if name == 'Chris'
puts "Wow! That\'s an even better name than Chris" if name == 'Joey'

当单引号未用作字符串分隔符时,不需要转义单引号

您还可以使用if/else语句

puts "Hello, what's your name?"
name = gets.chomp
puts 'Hello, ' + name + '.'

if name == 'Chris'
  puts 'What a lovely name!'
else name == 'Joey'
  puts "Wow! That's an even better name than Chris"
end
gets
更符合您的代码建议,也许:

puts "Hello, what's your name?"
name = gets.chomp
puts 'Hello, ' + name + '.'

puts 'What a lovely name!' if name == 'Chris'
puts "Wow! That's an even better name than Chris" if name == 'Joey'
gets
再次注意,我只在需要避开撇号的地方使用了双引号


请注意,双引号字符串允许“字符串插值”也被称为“变量插值”,如果您想搜索它,但通常不需要使用它们。样式可能会指示其他情况。

您忘记了您的
if
语句的
end
关键字。只是好奇而已。这一行“Hello,“+name+””不是应该在新行吗?对于双引号内的第二行,不需要转义单引号/撇号。就风格而言,可能使用单引号,除非插值需要双引号,或者可能不需要转义单引号。