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

Project1

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

[RMVX发布] 新手教程——细说数组与哈希_(5)

[复制链接]

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5464
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
跳转到指定楼层
1
发表于 2010-12-11 15:16:46 | 只看该作者 回帖奖励 |正序浏览 |阅读模式

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

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

x
本帖最后由 一箭烂YiJL 于 2011-2-22 21:10 编辑

课序号:5
作者:一箭烂YiJL
出版社:VX教程出版社
售价:完全免费
VX教程出版社的其它教程

上一课:
新手教程——函数外的常量(实战篇)


序:
这一课是说数组(Array)与哈希(Hash)这间的分别,
这一课全都是理论课,我没有头绪怎么弄实战。
因为理论课的关系,所以能记多少就记多少。


正式开始:
还记得上次我教了函数外的常量,
也顺便教了数组和哈希,现在我要说一说他们的重点。


A.数组:

1.基本:
  1. b = ["VX教程","出版社","强大"]
  2. p b[0]          # => "VX教程"
  3. p b[1]          # => "出版社"
  4. p b[2]          # => "强大"
复制代码
注意:数组是从0开始数起
这一句也能得出:数组是有次序的
a[0]、a[1]的0、1在数组里叫做索引

建立或修改:
修改:
  1. a = [1, 3]
  2. a[0] = 7     # 妙处
  3. p a                # => [7, 3]
复制代码
建立:
  1. a = [1, 3]
  2. a[2] = 5     # 妙处
  3. p a                # => [1, 3, 5]
复制代码
判断:
判断有多少个数组:
  1. model = ["VX教程","出版社","强大"]
  2. p model.size                # => 3
  3. [code]
  4. 判断有否数值:
  5. [code]model = ["VX教程","出版社","强大"]
  6. p model.include?("很费")                # false
  7. p model.include?("强大")                # true
复制代码
B.哈希:

简单:
  1. b = {"一" => "VX教程", "出版权" => "出版社", "无" => "强大"}
  2. p b["一"]          # => "VX教程"
  3. p b["出版权"]          # => "出版社"
  4. p b["无"]          # => "强大"
复制代码
注意:哈希是没有顺序的!而且要用{}
左边的是key,右边的是values。(记住名字就好了)
在"一" => "VX教程"里,"一"是key,"VX教程"是values。

删除和添加:
删除:
  1. b = {"一" => "VX教程", "二" => "出版社"}
  2. a.delete("一")
  3. p b               # => {"二" => "出版社"}
复制代码
添加:
  1. b = {}
  2. b["一"] = 10
  3. p b               # => {"一" => 10}
  4. p b["一"]      # => 10
复制代码
判断:
判断是否包括:
  1. b = {"VX教程" => 10, "强大" => 20}
  2. p b.include?("VX教程")         # => true
  3. p b.include?("XP教程")         # => false
复制代码
总结,我们学习了:
1.数组与哈希之间的最大分别
2.数组(Array)的详细用法
3.哈希(Hash)的详细用法



看完教程请回复,
我们需要的是支持!!


好了,这堂理论课上完了,谢谢大家。

下一课:
新手教程——参数与显示图片

评分

参与人数 1星屑 +800 收起 理由
夕阳武士 + 800 内部奖金

查看全部评分

Lv2.观梦者

虚構歪曲

梦石
0
星屑
364
在线时间
1198 小时
注册时间
2010-12-18
帖子
3928

贵宾

18
发表于 2011-3-13 14:37:59 | 只看该作者
本帖最后由 忧雪の伤 于 2011-3-13 14:38 编辑
冰舞蝶恋 发表于 2011-3-13 14:07
好厉害,咱对数组一窍不通…………


好厉害,咱对哈希一窍不通…………
回复 支持 反对

使用道具 举报

Lv2.观梦者

花开堪折直须折

梦石
0
星屑
676
在线时间
943 小时
注册时间
2010-7-17
帖子
4963

贵宾

17
发表于 2011-3-13 14:07:18 | 只看该作者
好厉害,咱对数组一窍不通…………

点评

数组很好用的说...  发表于 2011-3-13 15:48
大家好,我叫节操,有一天,我被吃了。
http://forever-dream.5d6d.com
永恒の梦制作组论坛

129993099
永恒の梦制作组QQ群
回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

16
发表于 2011-2-22 21:36:48 | 只看该作者
回复 一箭烂YiJL 的帖子

C 里不能是负值. 因为 C 里的数组之前的数据时不可预知的. 也就是说不确定是不是数组的东西.

索引值感觉更加形象点点.

之前的那个头像么? 嘛, 以后有建议就和咱说说吧. 之前自己感觉还不错. 只是没想到冷酷这个词汇的说. 于是, 抱歉~~~

"数组"教程的位置也不准了??? 楼数么??? 咱去看看~~~

点评

感觉被脚本框加载一下就移位了~~~  发表于 2011-2-22 21:38
回复 支持 反对

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5464
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
15
 楼主| 发表于 2011-2-22 21:09:22 | 只看该作者
回复 铃仙·优昙华院·因幡 的帖子

看"Ruby每日一帖(什么的)",页面弹上弹下弹上弹下,无法控制,过一阵子才能慢慢观赏。。。

怕了脚本框。(呵~)
a = [2,1]
a[-1] = 5      # 由于听说C是可以负面值
于是ruby的数组-1就会从0倒数回a[1]。
于是a[-2] = 5就会修改a[0],于是又a[-3] = 5,就抛出IndexERROR。。。
以上绝对废话。。。那么索引就叫索引吧~(去主楼修改)

之前那个头像太冷酷、吓人了,与你回答同一帖时感觉很严肃。。。(看过以来最威力的头像)
(黄亦天那我、DK和你的认可贴(我指的其中一贴)还没处理。。。换一个马甲处理吧)

然后就到了你那个"从0学起RGSS2"(什么的)那一帖的数组教程,
这次真的怕了,需要47秒多才能开始控制。。。况且那个"数组"教程的位置也不准了。
回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

14
发表于 2011-2-22 20:19:09 | 只看该作者
脚本框是一个吐槽点. 不会区分大小.

在 C 里的数组的下标是叫索引的, 因为可以直接使用地址来取值. 一种是 a[n] , 另一种是 *(a + n * sizeof(type))

然后是数组还有一种构造方式, 也就是 Array.new([size[, value]]) , 不过需要注意一个陷阱就是了~~~

以上是废话..

PS: 之前的头像不好看么????
回复 支持 反对

使用道具 举报

Lv4.逐梦者

弓箭手?剑兰

梦石
0
星屑
5464
在线时间
833 小时
注册时间
2010-11-17
帖子
1140
13
 楼主| 发表于 2011-2-22 17:33:48 | 只看该作者
回复 铃仙·优昙华院·因幡 的帖子

镇馆之宝!XD= =(某人被雷到的4个字)

我感觉序列号/排列号会好一点。("号"字的意思应该包括了编号或索引吧~中文不大清楚的)
回到第一页时发现新的脚本框令页面弹上弹下的,小小的脚本还要这么大的框。
铃仙换了之前那个冷酷的头像后(那个头像很吓人),现在这个给人的感觉好多了。

最终还没决定怎么叫。
回复 支持 反对

使用道具 举报

Lv2.观梦者

狂気の月兔

梦石
0
星屑
276
在线时间
1245 小时
注册时间
2009-4-7
帖子
879

贵宾

12
发表于 2011-2-22 12:56:56 | 只看该作者
a[0]、a[1]的0、1在数组里叫做附加码。

个人感觉应该叫 索引值 是不是更好一点? Ruby 的 Array 和 C 的不一样的说. 不知道能不能这么叫.

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
773 小时
注册时间
2010-9-27
帖子
28
11
发表于 2011-2-22 11:26:16 | 只看该作者
本帖最后由 zenkl 于 2011-2-22 11:47 编辑

1.哈希表的数值修改能否像数组一样直接赋值修改?
b = {"一"=>5,"二"=>3}
b.["一"] = 10
p b               # => ?
2. model.size 和  b.include?("VX教程")   是用来判断附加码和key的,貌似与value无关?              

点评

thx~  发表于 2011-2-22 18:25
b.["一"] = 10应该没点,是笔误(已修正)。p b # => {"一"=>10,"二"=>3},size是序列的数量,include是属否包括(key)。  发表于 2011-2-22 17:13
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
50
在线时间
444 小时
注册时间
2011-1-3
帖子
151

开拓者

10
发表于 2011-2-17 14:14:53 | 只看该作者
结合F1帮助文件看起来好多了
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-11-16 12:54

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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