Project1

标题: 请问数组的问题 [打印本页]

作者: 300英雄    时间: 2017-7-28 16:19
标题: 请问数组的问题
我建立一个数组A = []
然后如果学会A技能往数组A里面添加 X
学会B往数组添加Y
学会C往数组添加Z
然后就形成了数组A = [X,Y,Z]
思路如此,但是怎么往里面添加呢
A[0] = X这样不可行 因为指定了会发生万一学完AC没有B就变成了 [X,NIL,Z]了
请各位想想怎么办
比如学会AC数组就是 = [X,Z] AB=[X,Y] BC = [Y,Z] 这只是个例子,如果按照指定的话(如果有5个技能)我要做P55的数量,这可不是小数了5*4*3*2*1 120种,为了一个小效果要做最起码120次
作者: imsy    时间: 2017-7-28 16:39
a = []
a.push(x)
a.push(y)
貌似还有种高端的写法a << z
作者: cinderelmini    时间: 2017-7-28 17:37
2楼的办法应该是可行的,不过稍微有个疑问,
arr = []
学会A,arr.push(x)
学会C,arr.push(z)
于是有 arr = [x, z]

那么,在这之后学会了B的话,arr会变成什么样呢,
是 arr = [x, z, y] 还是 arr = [x, y, z] 呢?

如果是前者,那直接用.push方法就好了,
如果是后者,应该可以考虑用哈希表了。
作者: guoxiaomi    时间: 2017-7-29 00:10
本帖最后由 guoxiaomi 于 2017-7-29 00:12 编辑

可以使用array的compact!方法,移除数组里的nil元素




欢迎光临 Project1 (https://rpg.blue/) Powered by Discuz! X3.1