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

Project1

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

[已经解决] 有关alias的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
跳转到指定楼层
1
发表于 2015-12-6 21:16:03 | 只看该作者 |只看大图 回帖奖励 |倒序浏览 |阅读模式

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

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

x
在看F1 对alias 理解不清楚

RUBY 代码复制
  1. class Person
  2.   def introduce(形参)
  3.     msgbox"#{形参}!我是人类"
  4.   end
  5.   alias xxx001_introduce introduce
  6.   def introduce(形参)
  7.     xxx001_introduce
  8.     msgbox"#{形参}!我是男性"
  9.   end
  10. end
  11. a=Person.new
  12. a.introduce("你好")


我的想法是显示 你好!我是人类 再显示  你好!我是男性

但是 只显示报错。。。。

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

2
发表于 2015-12-6 21:29:38 | 只看该作者
class Person
  def introduce(形参)
    msgbox"#{形参}!我是人类"
  end
  alias xxx001_introduce introduce
  def introduce(形参)
    xxx001_introduce(形参)
    msgbox"#{形参}!我是男性"
  end
end
a=Person.new
a.introduce("你好")

点评

额,我蠢,谢谢 版主大人  发表于 2015-12-6 21:46

评分

参与人数 1梦石 +1 收起 理由
taroxd + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
3
 楼主| 发表于 2015-12-6 22:03:05 | 只看该作者
还有一个问题,alias 的用处都说 是为了避免与其他 手写脚本相干扰,但是以我上面的例子,如果我在网上下到一个脚本,而脚本中用到def introduce。但它调用的是我的新方法啊,就是显示 你好!我是人类 再显示  你好!我是男性 而不是原def introduce 只显示 你好!我是人类 的呢个啊?这不还是干扰了吗

呵呵 ,理解能力差,逻辑性弱,见笑了
回复 支持 反对

使用道具 举报

Lv4.逐梦者 (版主)

无限の剣制

梦石
0
星屑
10074
在线时间
5020 小时
注册时间
2013-2-28
帖子
5030

开拓者贵宾

4
发表于 2015-12-6 22:08:55 | 只看该作者
alias 就是为了保留原方法,让原方法可以不被直接覆盖。
详细的内容可以看喵呜的形象生动的解释:https://rpg.blue/forum.php?mod=v ... p;page=1#pid2519110
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
5
 楼主| 发表于 2015-12-7 18:39:31 | 只看该作者
本帖最后由 invirgin 于 2015-12-7 18:55 编辑

谢谢 版主大人
但是

在喵大的最终的执行脚本中 def 洗澡   第一行是开始冲水
但是在 第一个插入脚本中 我并没有找到 开始冲水 这指令啊
为什么 最终的执行脚本中 有开始冲水呢?

点评

有生之年 能见到喵大手滑 洒家这辈子值了  发表于 2015-12-7 19:11
手滑,无视掉这句就好了  发表于 2015-12-7 19:07
我猜这是写在她的dll里的  发表于 2015-12-7 18:47
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
6
 楼主| 发表于 2015-12-7 19:10:50 | 只看该作者
本帖最后由 invirgin 于 2015-12-7 19:25 编辑

还有一个问题
以喵大的例子




假如我在网上 下了一个脚本

脚本中 调用def 小苹果

但结果是显示歌词 你是我的小呀小苹果 怎么爱你都不嫌多 多多多多多

但 网上 下的脚本 只是想 调用 原始的 def 小苹果 即显示歌词 你是我的小呀小苹果

难道 我只能手动将我下的脚本中的 def 小苹果 全都改为 def 红富士?


回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21631
在线时间
9415 小时
注册时间
2012-6-19
帖子
7118

开拓者短篇九导演组冠军

7
发表于 2015-12-7 20:36:43 | 只看该作者
本帖最后由 喵呜喵5 于 2015-12-7 20:39 编辑
invirgin 发表于 2015-12-7 19:10
还有一个问题
以喵大的例子


是的,请针对这个脚本手动进行一次这样的批量修改,不过,个人的建议是,放弃其中一个脚本

alias 是防止脚本冲突的一个措施,而不是一个肯定能防止脚本冲突的万能手段。

你提到的这种情况可以看成是这样:
一个脚本将 角色的名字 改成了 角色的名字+角色的称号,角色名字中允许有其他内容
而另一个脚本则认为 角色的名字 就是 角色的名字 ,角色名字中不允许有其他内容
在这种情况下,两个脚本本身的功能(逻辑)就是冲突的,让这两个冲突的功能相互兼容本身就是不现实的,必须在两个功能之间做出取舍

当然,实际上,如果不是特别大的功能改动的话,这种情况出现的几率还是比较小的

点评

哦 我明白了 睡前又跟喵大学习了新姿势。  发表于 2015-12-7 22:11

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-17 03:42

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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