prompt("Welcome to Calculator! Enter your name:")
name = ''
loop do
name = Kernel.gets().chomp()
if name.empty()?
prompt("Make sure to use a valid name")
else
break
end
end
不确定我在这里失踪了什么。
我得到了这个错误消息:
syntax error, unexpected keyword_else, expecting ':'
答案 0 :(得分:3)
试试
if name.empty?
请注意,您可以调用没有括号的params方法。否则,您应该name.empty?()
,因为?
是方法名称的一部分。
无论如何,你的错误是?
条件之后的if
。错误消息告诉您,使用?
它正在尝试处理具有此语法的三元运算符
condition ? expression1 : expression2
因此需要:
答案 1 :(得分:1)
行
if name.empty()?
在常规if语句中被解释为三元'if'运算符:
if (name.empty() ? do_somethig : do_something_else )
并且代码中缺少双点
也许你的意思是:
if name.empty? # is equal to
if name.empty?()
因为问号是方法名称的一部分