【问题标题】:Class#price call on ruby instance methodClass#price 调用 ruby​​ 实例方法
【发布时间】:2014-02-22 15:38:15
【问题描述】:
class Ticket
  def price
      1
  end
end

我知道我可以使用一个

t = Ticket.new
t.price

但是 Ticket#price 做什么? 它指的是ticket中的实例方法价格,但我不明白这种命令的目的是什么

一些关于示例的道具?

【问题讨论】:

  • Ticket#price 就是您在 Ruby 文档中引用方法的方式。 # 表示实例方法,而.:: 用于类方法。

标签: ruby oop object


【解决方案1】:

@Michael Kohl 说的是对的。

Ticket#price 就是您在 Ruby 文档中引用方法的方式。 # 表示实例方法,而.:: 用于类方法

这是使用Object#method 对上述行的直观表示:

class Ticket
  def price
      1
  end
  def self.bar;end
end

t = Ticket.new
t.method(:price) # => #<Method: Ticket#price>
                                      ^
Ticket.method(:bar) # => #<Method: Ticket.bar>
                                         ^  

【讨论】:

    猜你喜欢
    • 2016-07-29
    • 1970-01-01
    • 2011-02-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-09-30
    • 2016-08-30
    相关资源
    最近更新 更多