我遇到了ruby的分支问题

时间:2013-12-23 06:20:43

标签: ruby syntax-error branch

问题,我试图在我的命令行中运行它。我在Windows上使用最新的ruby ......是我的电脑吗?  语法错误,意外的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

我搞砸了哪里?

4 个答案:

答案 0 :(得分:1)

看起来偏小的错误:

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

答案 1 :(得分:0)

代码遗失end。除非您使用test expressionbody,否则then:应该分开。

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

答案 2 :(得分:0)

if( pun intent )你想在一行上写这些

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'

答案 3 :(得分:0)

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

您也可以使用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

同样,请注意我只使用双引号,我需要逃避撇号。

请注意,双引号字符串允许“字符串插值”也称为“变量插值”,如果要搜索它,但通常不需要使用它们。或许,风格可能另有决定。