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

Project1

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

[胡扯] Ruby仿js的object

[复制链接]

Lv5.捕梦者 (版主)

遠航の猫咪

梦石
3
星屑
23186
在线时间
2387 小时
注册时间
2005-10-15
帖子
1166

开拓者

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

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

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

x
本帖最后由 SailCat 于 2018-1-20 19:24 编辑

其实我也不知道能有啥用……
而且ruby没有undefined(熟悉js的应该知道这和null不太一样)只好用nil了

RUBY 代码复制
  1. class JObject < Hash
  2.  
  3.   def method_missing(symbol, *args)
  4.     if symbol.to_s[-1] == ?=
  5.       self[symbol.to_s[0..-2].to_sym]= args[0]
  6.     elsif keys.include?(symbol)
  7.       self[symbol]
  8.     else
  9.       nil
  10.     end
  11.   end
  12. end
  13.  
  14. c = JObject.new
  15. c.str = 1
  16. c.dex = 2
  17. c.int = 3
  18. c.def = "4"
  19. p c      #{:str=>1, :dex=>2, :int=>3, :def:=4}
  20. p c.str  # 1
  21. p c.dex  # 2
  22. p c.int  # 3
  23. p c.def  # "4"
  24. p c.mdf  # nil
  25. c.sub = JObject.new
  26. c.sub.r = 5
  27. p c.sub.r # => 5
  28. c.func = Proc.new {p c.str}
  29. c.func.call #=> 1


SailCat (小猫子·要开心一点) 共上站 24 次,发表过 11 篇文章 上 次 在: [2006年01月28日11:41:18 星期六] 从 [162.105.120.91] 到本站一游。

Lv4.逐梦者

梦石
0
星屑
9280
在线时间
2504 小时
注册时间
2011-5-20
帖子
15389

开拓者

2
发表于 2018-1-20 19:30:49 | 只看该作者
get√
话说我刚发了一个多背包,不过xp弄起来似乎麻烦一些,你要不要看一下?
https://rpg.blue/thread-405179-1-1.html

点评

不论xp还是va存的都不是物品实体的,所以其实没有必要那样去实现……不过你说的这个办法确实可行  发表于 2018-1-20 19:52
xp好像把@data.push那部分再单独做个方法先算完物品然后也可以?  发表于 2018-1-20 19:43
我的是在改变当前的背包时,先更新当前背包的内容,清空物品,然后把目标背包里的物品取出来,改变背包id为目标背包的id  发表于 2018-1-20 19:43
看看va的Game_Party#all_items怎么实现的…… 我记得和我sep core里的all_items实现方式一样……所以你把那段加进去不就行了吗? 哦不行,gain_item还得改写  发表于 2018-1-20 19:40
[img]http://service.t.sina.com.cn/widget/qmd/5339802982/c02e16bd/7.png
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
42329
在线时间
7598 小时
注册时间
2009-7-6
帖子
13505

开拓者贵宾

3
发表于 2018-1-20 19:33:11 | 只看该作者
不如直接定义在hash里,就完全一样了2333

点评

对呀  发表于 2018-1-20 19:35
你是说初始化可以直接写{}了吗……  发表于 2018-1-20 19:33
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 1 反对 0

使用道具 举报

头像被屏蔽

Lv2.观梦者 (禁止发言)

梦石
0
星屑
653
在线时间
3774 小时
注册时间
2011-2-26
帖子
1839

开拓者

4
发表于 2018-1-22 11:35:29 | 只看该作者
提示: 作者被禁止或删除 内容自动屏蔽
签名被屏蔽
回复 支持 反对

使用道具 举报

Lv3.寻梦者

梦石
0
星屑
4598
在线时间
1206 小时
注册时间
2016-4-7
帖子
982

开拓者

5
发表于 2018-1-26 00:09:30 | 只看该作者
附庸的附庸不是我的附庸,女儿的女儿还是我的女儿。CK2沉迷ing
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-14 10:05

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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