ruby 扩展了类和实例方法的Ruby模块

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ruby 扩展了类和实例方法的Ruby模块相关的知识,希望对你有一定的参考价值。

module Persistence
  def self.included(klass)
    klass.extend(ClassMethods)
  end

  module ClassMethods
    def all
      puts 'all'
    end

    def find(id)
      puts "looking for entity with id=#{id}"
    end
  end

  def save
    puts 'saving'
  end

  def update
    puts 'updating entity'
  end
end

class User
  include Persistence
end

u = User.new

# instance methods
u.save #=> saving
u.update #=> updating entity

# class methods
User.all #=> all
User.find(1) #=> looking for entity with id=1

以上是关于ruby 扩展了类和实例方法的Ruby模块的主要内容,如果未能解决你的问题,请参考以下文章

ruby 来自模块的类和实例mehods

Ruby mixins:扩展和包含

Ruby知识概要

ruby/rails:如何确定是不是包含模块?

Ruby File 类和方法

雷林鹏分享:Ruby File 类和方法