ruby - 在 Ruby 中,{1 => new "new")} 中的 ("alice"是什么意思?

标签 ruby class

我是 Ruby 新手,今天编写了以下代码。我搜索了“Ruby 编程语言”一书,但没有找到对这种语法的解释。有人可以帮忙解释一下吗?我知道要创建一个对象,您需要使用类似 Person.new("My name") 的东西。

class Person
  attr_reader :name
  def initialize name
    @name = name
  end

  def self.find id
    people = {1 => new("alice"), 2 => new("bob")}
    people[id]
  end
end

最佳答案

find 是一个类方法。

在类方法中,self 引用类。在方法中,self可以省略。

因此,new 表示self.new;在这种情况下相当于 Person.new

关于ruby - 在 Ruby 中,{1 => new "new")} 中的 ("alice"是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25835332/

相关文章:

ruby-on-rails - 找不到 bundle 安装的 cucumber 生成器

ruby-on-rails - Controller 中的实例变量是否传递到 Rails 中的规范?

python - 在 Python 中创建列表对象类

Python 似乎将实例属性视为类属性

php - 拆分一个大的 PHP 类

java - 当类中实际上有一个 main 方法时,没有 main 方法

class - 为什么 "case class"不需要 "new"来创建新对象

Ruby 哈希键作为符号不起作用

ruby-on-rails - 渲染部分时出现未定义方法错误

ruby - sed 命令在 ruby​​ 中不起作用,但它在终端中起作用