ruby - Ruby 2.1.1 中使用 else 语句的定义语法

标签 ruby syntax ruby-2.1

ruby 是否支持具有以下代码的语法:

class Test
 def test
  #some code here
 else
  #some code here
 end
end

我发现这个语法是有效的并且 ruby​​ 解释器没有为此标记任何异常。 如果这是有效的,任何人都可以解释此语法的用法。

目前使用 Ruby 2.1.1

最佳答案

这是有效的 Ruby 语法,但对于 rescue 看例子:

#exm.rb
class Test
 def test
  #some code here
 else
  #some code here
 end
end

并运行(-w 为您的脚本打开警告):

$ ruby -w exm.rb
exm.rb:7: warning: else without rescue is useless

检查语法(-c 仅检查语法):

ruby -c exm.rb
arra.rb:7: warning: else without rescue is useless
Syntax OK

救援:

#exm.rb
class Test
  def test
    #some code here
  rescue
    #some code here
  else
    #some code here
  end
end

检查语法:

ruby -c exm.rb
Syntax OK

了解 begin + rescue + else

关于ruby - Ruby 2.1.1 中使用 else 语句的定义语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25761710/

相关文章:

ruby-on-rails - Rails 5 从两个不同的表中选择并得到一个结果

ruby-on-rails - 你能在 HAML css 中插入 ruby​​ 变量吗?

php - 为什么 PHP 中的字符串连接使用句号 "."而不是加号 "+"?

ruby-on-rails - 预期等效的拼写会导致错误。为什么?

ruby - 为什么 Ruby 会在线上为最后一个 undefined variable 引发错误?

ruby - 在 block 中拦截 def

php - 这个查询有什么问题?语法错误

MySQL DBCC CHECKIDENT语法错误

ruby - 比较相等的字符串在 Hash 中找不到相同的对象

ruby - 是否可以从 Ruby 中的堆栈跟踪中提取局部变量及其值?