ruby-on-rails - 在 Ruby 中什么时候使用符号代替变量是正确的?

标签 ruby-on-rails ruby programming-languages

我是 Ruby 的新手,正在尝试了解它的一些语法。

为什么这段代码使用异常对象的变量:

begin
  puts Dir::delete
rescue ArgumentError => e
  puts e.backtrace
end

但没有符号?

begin
  puts Dir::delete
rescue ArgumentError => :e
  puts e.backtrace
end

最佳答案

符号是一个值。在您的示例中,您需要一个变量来存储错误对象。您通常使用符号作为字符串常量。

例如,如果您创建一个带有基本方向的模块,最好使用符号 :north:south:east , :west 而不是字符串 "north", "south", "east" “西”

符号通常用作散列中的键:

my_hash = { a: 1, b: 7, e: 115 }

阅读 github 上的 ruby​​ 代码对于了解何时使用符号非常有用。

关于ruby-on-rails - 在 Ruby 中什么时候使用符号代替变量是正确的?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10561541/

相关文章:

ruby-on-rails - 使数组无效后不会释放 Ruby 内存

ruby - 为什么从我的 Ruby 脚本调用 mktemp 时提示权限被拒绝?

ruby-on-rails - session 哈希不会在 rspec 测试中持续存在

java - 关于Java编程语言

compiler-construction - 约束求解器在编程语言和编译器中的使用

c - 如何知道路径,错误和警告存储在eclipse中

ruby-on-rails - 使用 Paypal REST API 进行未经授权的访问

ruby-on-rails - 将 S3 用于 Rails "public/images"好吗?有一种简单的方法吗?

ruby-on-rails - 如何使用 rails 远程 : true parameter with JSON?

ruby DSL : Can you pass a block to an object