设为首页收藏本站|繁體中文

Project1

 找回密码
 注册会员
搜索
查看: 2497|回复: 9
打印 上一主题 下一主题

[已经解决] show这个命令是啥,没有找到?

[复制链接]

Lv4.逐梦者

梦石
0
星屑
14136
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

跳转到指定楼层
1
发表于 2019-11-18 11:40:46 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

加入我们,或者,欢迎回来。

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
RUBY 代码复制
  1. str = "66"
  2.  
  3. def str.show
  4.   p "77"
  5. end
  6.  
  7. str_clone = str.clone
  8. str_dup = str.dup
  9.  
  10. str_clone.show #=> "77"
  11. str_dup.show   #=> NoMethodError


论坛里面翻到的,下面定义的str.show字符串后面跟了show,我翻F1和论坛没有找到这个是啥意思?
也没有遇到过这么个写法,顶多就是self.方法名

Lv6.析梦学徒

老鹰

梦石
40
星屑
33439
在线时间
6555 小时
注册时间
2012-5-26
帖子
3178

极短24评委极短23参与极短22参与极短21评委老司机慢点开短篇十吟唱者组别冠军开拓者剧作品鉴家

2
发表于 2019-11-18 12:59:50 | 只看该作者
本帖最后由 百里_飞柳 于 2019-11-18 13:03 编辑

str 是 String类的一个实例

def str.show
end
是给这个实例绑定一个方法,名字叫show
之后就能调用 str 的 show 方法来执行内容

而对于其他String类的实例(比如 dup 返回的实例,只会通过String类获得共有的方法),并没有这个show方法


这个东西叫做 单例方法,clone和dup的区别:
https://ruby-china.org/topics/18922

评分

参与人数 2星屑 +50 +2 收起 理由
RyanBern + 50 + 1 认可答案
miantouchi + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv4.逐梦者

梦石
0
星屑
14136
在线时间
2143 小时
注册时间
2019-1-24
帖子
1121

R考场第七期纪念奖

3
 楼主| 发表于 2019-11-18 13:01:42 | 只看该作者
百里_飞柳 发表于 2019-11-18 12:59
str 是 String类的一个实例

def str.show


这我还是第一次看到,看一绑定方法的。就看过在类里面定义方法的
class A
  def show
      p "aa"
  end
end

点评

不在类里定义的方法就是所有地方都能用的方法啊..包括事件脚本里也可以调用..  发表于 2019-11-18 13:45
如果你没有替换成功,就把代码移到下面试试  发表于 2019-11-18 13:41
这叫猴子补丁(名字就是这么叫的0.0),当出现同名类里的同名方法时,脚本编辑框左面的列表中,位置靠下的会替换掉位置靠上的  发表于 2019-11-18 13:10
有哪些类可以这么操作?哪些不行?  发表于 2019-11-18 13:07
更新了下回复,毕竟是动态语言,很灵活的  发表于 2019-11-18 13:04
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
39842
在线时间
7491 小时
注册时间
2009-7-6
帖子
13485

开拓者贵宾

4
发表于 2019-11-18 13:52:02 | 只看该作者
你这种方式定义的是实例方法,
就好比你定义了两个人类,给其中一个人类定义了尾巴,另一个却没有,
当你调用尾巴函数的时候没有尾巴的人类就会出错了,
正常情况下这些定义都是在“人类”这个大类型里定义的,定义全人类都有尾巴,这样所有人调用尾巴的时候就不会出错了

点评

有尾巴的是赛亚人  发表于 2019-11-21 20:25

评分

参与人数 2星屑 +50 +2 收起 理由
RyanBern + 50 + 1 认可答案
miantouchi + 1 我很赞同

查看全部评分

RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

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

本版积分规则

拿上你的纸笔,建造一个属于你的梦想世界,加入吧。
 注册会员
找回密码

站长信箱:[email protected]|手机版|小黑屋|无图版|Project1游戏制作

GMT+8, 2024-5-9 01:15

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表