- android - 多次调用 OnPrimaryClipChangedListener
- android - 无法更新 RecyclerView 中的 TextView 字段
- android.database.CursorIndexOutOfBoundsException : Index 0 requested, 光标大小为 0
- android - 使用 AppCompat 时,我们是否需要明确指定其 UI 组件(Spinner、EditText)颜色
这段代码在做什么?
class Object
remove_const :File
end
是否完全删除[1] 类?当我在那段代码之后调用 File.instance_methods
时,它只是显示从 Object/Kernel 继承的方法。
是否可以将其恢复到原始状态?我的意思是,在使用 remove_const
之后,是否有办法将类恢复到其原始状态? (之前没有保存类定义。)
[1]抱歉使用“删除”这个词
最佳答案
根据文档:http://apidock.com/ruby/Module/remove_const
“无法删除预定义的类和单例对象(例如 true)。”
所以这个方法不会对 File 类做任何事情。这就是为什么您可以在 File
上使用 instance_methods
。类文件仍然存在。
当你删除某个类时,如果你想再次使用它,你必须再次加载它(或运行这个类的代码)。
重要编辑:这是理论,但实践表明(undur_gongor 和 Andrew Grimm 在评论中指出的内容)对于 Ruby 1.8.7 和 Ruby 1.9.2,我们将得到“未初始化的常量文件”。所以在这种情况下文档具有误导性......
关于 ruby - remove_const :File,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7513727/
这段代码在做什么? class Object remove_const :File end 是否完全删除[1] 类?当我在那段代码之后调用 File.instance_methods 时,它只是
嗨谁能给我一个示例程序来“创建一个 ApplyRemoveConst 模板构造一个新的类型列表,并将 remove_const 应用于每个元素” 例如: typedef TYPELIST_3(A, c
为什么 std::remove_const 不能将 const T& 转换为 T&?这个公认的相当人为的例子证明了我的问题: #include int main() { int a = 42
请注意,我使用 std::thread只是为了在错误中获得可读类型: int main() { const int * first; using deref = decltype(*f
如果我使用 C 方式,我可以执行以下操作: #define NOCONST(x) std::remove_const::type const int a; NOCONST(a) b; 如果我用C++的
在下面的代码中,我使用了 std::remove_const 和 std::remove_reference 但在两种情况下以不同的顺序给出了不同的结果: #include #include #i
这个问题在这里已经有了答案: std::remove_const with const references (1 个回答) 关闭 4 年前。 #define T int int main () {
只是想让简单的http服务器运行起来,对ruby一无所知 /usr/local/lib/ruby/gems/1.9.1/gems/rack-1.3.5/lib/rack/backports/uri/c
我是一名优秀的程序员,十分优秀!