查看: 2252|回复: 5

[已经解决] 关于数组和哈希表的问题

[复制链接]
梦石
0
星屑
50
在线时间
65 小时
注册时间
2012-10-18
回帖
20
发表于 2013-9-20 14:21:40 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 shiyatestzn 于 2013-9-20 15:00 编辑

[pre lang="ruby" line="1"]module XAS_CT_SYSTEM
  # 初始设定的每个角色的CT。
  # ACTOR_INITIAL_CT  = {A=>[B,C]}
  # A = Actor ID
  # B = CT Max
  # C = CT speed  
  ACTOR_INITIAL_CT = {
  2=>[200,4]
  }
end

class Game_Actor < Game_Battler
  
  attr_accessor :ct
  attr_accessor :ct_max
  attr_accessor :ct_speed
  #----------------------------------------------------
  # ● Setup Initial CT
  #----------------------------------------------------
  def setup_initial_ct(actor_id)
      ct_par = XAS_CT_SYSTEM::ACTOR_INITIAL_CT[actor_id]
      if ct_par != nil
         @ct_max = ct_par[0]
         @ct_speed = ct_par[1]
         @ct = @ct_max
      end  
  end[/pre]


1.求问临时变量ct_par = XAS_CT_SYSTEM::ACTOR_INITIAL_CT[actor_id] 这句话。意思是不是将ACTOR_INITIAL_CT所指哈希表所有内容

都带入到ct_par里?    临时变量ct_par所指是数组还是哈希表?

2.求问  ct_par[0]     ct_par[1]   各代表什么?






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

开拓者短篇九导演组冠军

发表于 2013-9-20 14:29:39 | 显示全部楼层
本帖最后由 喵呜喵5 于 2013-9-20 14:37 编辑

ct_par = XAS_CT_SYSTEM::ACTOR_INITIAL_CT[actor_id]
这句的作用是将哈希表中索引为actor_id的数据代入ct_par这个变量中,你的代码中该索引对应的数据是数组所以ct_par也是数组
ct_par[0]、ct_par[1]分别用于读取ct_par这个数组中第1、2个元素

从你给的代码来看的话
当actor_id为2时
ct_par = XAS_CT_SYSTEM::ACTOR_INITIAL_CT[actor_id]执行以后的结果是:
  1. p ct_par  #[200,4]
  2. p ct_par[0]  #200
  3. p ct_par[1]  #4
复制代码

评分

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

查看全部评分

回复

使用道具 举报

梦石
0
星屑
50
在线时间
65 小时
注册时间
2012-10-18
回帖
20
 楼主| 发表于 2013-9-20 14:31:42 | 显示全部楼层
终于等来了喵呜喵 先激动个
回复

使用道具 举报

梦石
0
星屑
50
在线时间
65 小时
注册时间
2012-10-18
回帖
20
 楼主| 发表于 2013-9-20 14:41:11 | 显示全部楼层
本帖最后由 shiyatestzn 于 2013-9-20 14:44 编辑

喵呜大大厉害  窝懂了。版主快来给喵呜桑加分{:2_277:}
回复

使用道具 举报

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

开拓者短篇九导演组冠军

发表于 2013-9-20 14:46:05 | 显示全部楼层
shiyatestzn 发表于 2013-9-20 14:41
求问喵呜桑
ct_par = XAS_CT_SYSTEM::ACTOR_INITIAL_CT[actor_id]是将actor_id键对应的值(是个数组)

puts是一个输出语句,只是编辑脚本的时候方便测试的不用太在意

ct_par[n]的用途是读取ct_par这个数组中第n+1个元素,基本上所有的编程语言的数组都是这么读取的
回复

使用道具 举报

梦石
0
星屑
50
在线时间
65 小时
注册时间
2012-10-18
回帖
20
 楼主| 发表于 2013-9-20 14:55:35 | 显示全部楼层
喵呜喵5 发表于 2013-9-20 14:46
puts是一个输出语句,只是编辑脚本的时候方便测试的不用太在意

ct_par[n]的用途是读取ct_par这个数组中 ...



窝是自学ruby语言的。完全从网上和F1帮助文档学脚本。木有一点常识的  ,让喵呜大大费心咯

话说每次提问都有喵呜桑帮我解答 真是幸福死了{:2_280:}

(正色)喵呜桑以后也请多指教       #  =>    ←厚颜无耻的伸手党,正色你妹









点评

其实我也是自学的……  发表于 2013-9-20 15:10
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部