小编And*_*y B的帖子

Ruby中的奇怪结果"end if"

我希望这个代码执行的代码块,并导致产出"x""y",或只是抛出一个语法错误:

if true
  puts "x"
end if
puts "y"
Run Code Online (Sandbox Code Playgroud)

但是,解释器会忽略该if true块并仅执行puts "y".如果我改为输入以下代码:

if true
  puts "x"
end if
Run Code Online (Sandbox Code Playgroud)

解释器以输入结束语法错误退出.是否有一个原因,为什么第一个片段是有效的代码但不知何故执行错误?在我看来,解析器中存在一些错误.

我已经在Ruby 2.1.2以及Ruby 2.1.5中证实了这一点.

ruby

0
推荐指数
1
解决办法
68
查看次数

标签 统计

ruby ×1