查看: 1849|回复: 2

[已经解决] 以下脚本为何会出错?

[复制链接]
头像被屏蔽
梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
回帖
3243
发表于 2015-6-22 18:18:49 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽

梦石
1
星屑
23241
在线时间
9564 小时
注册时间
2012-6-19
回帖
7018

开拓者短篇九导演组冠军

发表于 2015-6-22 19:51:36 | 显示全部楼层
  1. class A
  2.     def m
  3.         msgbox 'It Works !'
  4.     end
  5. end
  6. class B
  7.     def self.m
  8.         msgbox 'It Works !'
  9.     end
  10. end
  11. a = A.new
  12. b = B.new
  13. A.m # => 错误! 方法未定义
  14. a.m # => It Works !
  15. B.m # => It Works !
  16. b.m # => 错误! 方法未定义
复制代码
出错的原因很简单,self.Use 是类方法,你所定义的 set_pixel 是实例方法,类方法 self.Use 执行set_pixel 时查找的是你没有定义的类方法 self.set_pixel 而不是你定义的实例方法 set_pixel ,最终程序没有找到你有定义过任何同名的类方法,自然针对找不到方法报错

评分

参与人数 1星屑 +80 收起 理由
Luciffer + 80 认可答案

查看全部评分

回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
88
在线时间
631 小时
注册时间
2014-8-4
回帖
3243
 楼主| 发表于 2015-6-25 12:43:11 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部