查看: 1574|回复: 7

[已经解决] 求一方法

  [复制链接]
头像被屏蔽
梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
回帖
101
发表于 2011-4-3 18:47:54 | 显示全部楼层 |阅读模式
提示: 作者被禁止或删除 内容自动屏蔽
头像被屏蔽
梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
回帖
101
 楼主| 发表于 2011-4-4 08:36:12 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

虚構歪曲

梦石
0
星屑
354
在线时间
1196 小时
注册时间
2010-12-18
回帖
3842

贵宾

发表于 2011-4-4 11:50:59 | 显示全部楼层
本帖最后由 忧雪の伤 于 2011-4-4 11:54 编辑
  1. def foo(value, change)
  2.   value += change
  3. end
复制代码


好吧……没认真看题……无视我。
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
回帖
101
 楼主| 发表于 2011-4-4 12:00:36 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
7095
在线时间
1666 小时
注册时间
2008-10-29
回帖
6612

贵宾

发表于 2011-4-4 12:11:46 | 显示全部楼层
  1. module RPG
  2.   class Weapon
  3.     def atk(hzhj = false)
  4.       return Proc.new{|n|@atk = n} if hzhj
  5.       return @atk
  6.     end
  7.   end
  8. end
  9. def foo(a, b)
  10.   a.call b
  11. end

  12. $data_weapons = load_data("Data/Weapons.rxdata")
  13. data = $data_weapons[1]
  14. p data.atk
  15. foo(data.atk(true), 3)
  16. p data.atk
  17. exit
复制代码
额,貌似这不是你想要的,等高人解答吧~~~











你知道得太多了

回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
回帖
101
 楼主| 发表于 2011-4-4 12:20:18 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

梦石
0
星屑
55
在线时间
323 小时
注册时间
2010-8-21
回帖
638
发表于 2011-4-4 14:24:16 | 显示全部楼层
回复 听海 的帖子

直接
$data_weapons[1].atk += 3  不行吗...?
那就
def foo(str,v)
  eval("#{str}+=#{v}")
end
当然,必须:

data = "$data_weapons[1]"
foo(data+".atk",3)
才行
这样还不行就只有继续等高人

评分

参与人数 2星屑 +692 收起 理由
禾西 + 686 認可答案
听海 + 6 认可答案

查看全部评分

>>猛戳>>MetalSagaR游戏主页<<这里<<
欢迎提供您的意见
回复

使用道具 举报

头像被屏蔽
梦石
0
星屑
50
在线时间
62 小时
注册时间
2009-7-12
回帖
101
 楼主| 发表于 2011-4-4 19:40:19 | 显示全部楼层
提示: 作者被禁止或删除 内容自动屏蔽
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部