ruby - []如何在Ruby中的类上工作

标签 ruby class

我看到我可以使用

获取目录中的文件列表
Dir["*"]

我应该如何准确阅读该语法?据我所知,您可以使用 [ ] 从数组或散列中获取值。

[ ] 如何处理通话?

最佳答案

[] 只是一个方法,如#to_s、#object_id。等

你可以在任何对象上定义它:

class CoolClass
  def [](v)
    puts "hello #{v}"
  end
end

CoolClass.new["John"] # => "hello John"

在你的情况下,它被定义为单例方法,以这种方式:

class Dir
  def self.[](v)
    ...
  end
end

关于ruby - []如何在Ruby中的类上工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32211568/

相关文章:

java - java中使用(Class)对象会恢复对象吗?

ruby - Sinatra、Mongoid、Heroku、MongoHQ : connecting to Mongodb

ruby - 在 Mongoid 中,您可以原子地销毁嵌入文档并更新其父文档吗?

ruby-on-rails - rake 中止! ActiveRecord::Base:Class 的未定义方法 `migration_error='

java - 继承自 2 个已在 java 中定义的类

python - 如果我更改了类中的函数名称,该函数会发生什么变化?

ruby - Ruby gems 的问题(损坏?)试图让指南针在 npm 中工作

ruby - 我如何模块化 Rails 模型?

python 查找函数的类型

java - 公共(public)方法返回私有(private)类实例怎么样?