楼主: Ceopal

[已经解决] 【Ruby】 有 include 相反的操作的写法吗?

[复制链接]
梦石
0
星屑
1580
在线时间
1564 小时
注册时间
2008-7-30
回帖
4207

贵宾

发表于 2013-7-4 22:46:42 | 显示全部楼层
总感觉跟你之前一个帖子有奇怪的联系。

[pre lang="ruby" line="1" file="dk.rb"]# This is dk.rb
Module A
  def self.foo
     puts "bar"
  end
end

class DK
  def initialize
    puts "DK"
  end
end

A.foo
DK.new[/pre]

使用load(file, true)测试:

[pre lang="ruby" line="1"]C:\Users\DeathKing>irb
irb(main):001:0> load("dk.rb", true)
"bar"
dk
=> true
irb(main):002:0> DK.new
NameError: uninitialized constant DK
        from (irb):2
        from D:/Compier/Ruby193/bin/irb:12:in `<main>'
irb(main):003:0>[/pre]

但这个只保证对模块有效。你可以参考《Ruby元编程》一书。

评分

参与人数 1星屑 +100 收起 理由
Sion + 100 感谢帮忙

查看全部评分


See FScript Here:https://github.com/DeathKing/fscript
潜心编写URG3中。
所有对URG3的疑问和勘误或者建议,请移步至发布页面。
欢迎萌妹纸催更
回复

使用道具 举报

梦石
0
星屑
50
在线时间
521 小时
注册时间
2011-12-7
回帖
148
 楼主| 发表于 2013-7-4 22:53:59 | 显示全部楼层
本帖最后由 Ceopal 于 2013-7-4 23:09 编辑
克莉丝 发表于 2013-7-4 19:17
直接调用模块的方法为什么不可呢

不如你自己对object类写一个方法让它对指定模块的方法逐个undef吧,把N ...

阿里嘎托``
ps: 不是新手哪里有那么多问题要请教别人……{:2_270:}

还是说你不调用

。。我只是在学习与想象中


DeathKing 发表于 2013-7-4 22:46
总感觉跟你之前一个帖子有奇怪的联系。

# This is dk.rb.

这个load作用好像是临时用代码的吧~
好像有点明白了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部