ruby - 将错误对象分配给 `rescue` 方法的变量时使用的语法 (=>) 是什么?

标签 ruby variables syntax raise hashrocket

可以分配一个变量来引用错误对象的 rescue 具有以下语法 (=>)

rescue => e

如果rescue是一般方法调用之一,那么=>是什么意思。 我可以在其他方法调用上使用相同的语法吗?

my_method arg1, arg2 => my_obj

最佳答案

同时 raise is indeed a method , rescue 不是。它是一个关键字并在 parse.y:10467 上定义。 .因此,您拥有的语法对于 rescue 来说是特殊的(因为 => e 不是任何类型的 method 参数),并且无效对于方法本身(至少不具有相同的含义)。 rescue => e 语法本身是如何/在何处定义在解析器中的,我并不完全确定。

关于ruby - 将错误对象分配给 `rescue` 方法的变量时使用的语法 (=>) 是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9686991/

相关文章:

ruby - 为什么 Ruby 的默认参数值没有分配给 nil 参数?

arrays - Ruby:多维数组到一维行

ruby - 趋势算法

variables - 在 .vbs 的文件路径中使用变量

JavaScript:除前和后缀增量/减量

syntax - powershell中的条件执行(&&和||)

python - <<在python中代表什么?

ruby-on-rails - Ruby 中 For 和 Map 的区别

c++ - 在实例化期间为 C++ 类变量设置变量类型

c++ - 在 CUDA 中初始化 dim3 变量, "dim3 dimGrid(numBlocks);"语法如何工作?