ruby - 为什么要在 attr_accessor 中使用符号而不是字符串?

标签 ruby

那么为什么我们要在 Ruby 中这样做:

attr_accessor :price

代替:

attr_accessor 'price'

我读到 Symbols 类似于 Strings,但它们是不可变的。但我不明白为什么我们在执行 attr_accessor、attr_reader 时会使用它。我的意思是,有什么优势?

最佳答案

这是正确的做法。 Symbol 是一种数据类型,其目的是专门表示“名称”或“标签”的概念。在这里,您使用它来传递一对要生成的方法的名称。在这种情况下,Symbol 只是正确的数据类型。为方便起见,这些方法也采用 String

关于ruby - 为什么要在 attr_accessor 中使用符号而不是字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19984580/

相关文章:

ruby-on-rails - 如何从模型方法访问公用文件夹?

ruby - 在特定字符后将字符串插入 URL

ruby-on-rails - 将对象保存到属性?

ruby - 如何在 Ruby 中编码 lambda (Proc)?

mysql - 在 Mac 上为 Ruby on Rails 设置本地 Web 服务器

ruby-on-rails - 使用 bundler 在生产服务器上更新到新版本的 Prawn 时出现问题

ruby - 如何使用axlsx添加数据标签

ruby: unicode字符十进制值到\uXXXX转换? .ord 方法不起作用

ruby - 在 Ruby 中表示时差

ruby-on-rails - 如何通过 factorygirl 中的特征将属性传递给关联?