- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
Module#singleton_class
的逆运算是什么?即,给定一个单例类,我怎样才能得到它是单例的模块?
最佳答案
您可以使用 ObjectSpace#each_object为此:
module M; end
sc = M.singleton_class
ObjectSpace.each_object(Module).find { |m| m.singleton_class == sc }
#=> M
@ndn 指出:
ObjectSpace.each_object(sc).to_a #=> [M]
所以它只是:
ObjectSpace.each_object(sc).first #=> M
关于ruby - `Module#singleton_class` 的倒数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34488903/
class Product < ActiveRecord::Base set_table_name 'produce' end module ActiveRecord class Base
我在元类中定义了方法specific_data1和specific_data2,并期望这些方法属于单例类: class User def User.specific_data1 "user
Module#singleton_class 的逆运算是什么?即,给定一个单例类,我怎样才能得到它是单例的模块? 最佳答案 您可以使用 ObjectSpace#each_object为此: modul
当我向 singleton_class 添加验证时,它似乎被分配给了基类,并且它不会触发任何一个。 class Example attr_accessor :title, :some_boolea
为什么 Foo.val 在调用 Foo.set 之前返回 nil 而不是 "foo"? 是否有任何机制可以在类评估时初始化 @val? @val = "foo" 存储在哪个范围内? class Foo
假设有人希望创建一个具有类实例变量、该变量的 getter、类方法和实例方法的类。人们可能会写下以下内容。 class C @v = 1 def hi 'hi' end cla
我这样做有什么区别 class T def initialize self.class.class_eval do def test return self.cl
我们有一个应用程序使用 Sequel gem 连接到数据源,执行一些工作,然后返回一个结果,该结果具有许多附加到该对象的 singleton_class 的便捷方法。在 ruby 2.3 中,此代
根据定义,一个对象的单例类也继承了该对象父类(super class)的单例类。 ruby 中的 BasicObject 没有任何父类(super class),因为它是最基本的级别类 >> Basi
我是一名优秀的程序员,十分优秀!