问题,我试图在我的命令行中运行它。我在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
我搞砸了哪里?
答案 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 expression
或body
,否则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
同样,请注意我只使用双引号,我需要逃避撇号。
请注意,双引号字符串允许“字符串插值”也称为“变量插值”,如果要搜索它,但通常不需要使用它们。或许,风格可能另有决定。