ruby - 可以为 Ruby 方法参数和访问器方法使用相同的名称吗?

标签 ruby

假设我有这样一个类:

class Parser
  attr_accessor :config, :html
  def initialize(config, html)
    @config = config
    @html = html
  end
  ...
end

将初始化方法的参数命名为与 attr_accessors 相同的名称是否安全?风格不好吗?什么是更好的风格?

最佳答案

这样做是完全安全的,我也一直这样做。但是,我认为像这样设置对象属性是一种更好的样式:

class Parser
  attr_accessor :config, :html
  def initialize(config, html)
    self.config = config
    self.html = html
  end
  ...
end

执行此操作时,您的代码将使用 attr_acessor 提供的 setter 方法。这样您就可以始终以一致的方式访问变量。

关于ruby - 可以为 Ruby 方法参数和访问器方法使用相同的名称吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4522070/

相关文章:

ruby - 获取数组中重复元素的索引(Ruby)

ruby - 将 IE 11 x64 与页面对象一起使用时出现 "Watir::Exception::NoMatchingWindowFoundException: browser window was closed"错误

ruby - gem 和/或 Ruby on Rails 突然坏了,有人知道发生了什么事吗?

php - 获取 Ruby 的 OpenSSL::HMAC.hexdigest() 的输出与 PHP 的 hash_hmac() 相同

ruby-on-rails - 使用 Ruby On Rails 在 AJAX 中进行星级评定

ruby-on-rails - 基于参数的连接不受 sql 注入(inject)的影响

javascript - 哪些形式的 JavaScript 适合中级 Rails 开发人员(仅团队中的开发人员)?

ruby-on-rails - 排序和限制

ruby-on-rails - 设计异步,在 Rails 升级后抛出错误

ruby-on-rails - 在 Rails 3 中,我得到了一个用于回收的 NoMethodError!测试过程中的方法