Project1

标题: 怎么随机删除数组(数组里面不是数字)中的一个。 [打印本页]

作者: he11120    时间: 2012-4-23 21:21
标题: 怎么随机删除数组(数组里面不是数字)中的一个。
本帖最后由 he11120 于 2012-4-23 22:01 编辑

注:该数组为Scene_Battle 4的@target_battlersdsu_plus_rewardpost_czw
作者: sai90306    时间: 2012-4-23 21:36
不知道是不是這樣子
假設數組a = [ 1, 2, 3,100,99,25] 要刪除 裡面的100的話
b = a-[100]
則b =[ 1, 2, 3,99,25]

作者: 青蛙2009    时间: 2012-4-23 21:41
1.获取数组长度为L
2.随机数0-L为n
3.去除数组第n个元素即可
这3步可合成1步完成
作者: end55rpg    时间: 2012-4-23 23:22
@target_battlers.each{|i|@target_battlers.delete!(i) if rand(@target_battlers.size) == 1}
随机删除一个= =,完全不知道这个数组是什么,可能偶尔会随机不删除
作者: he11120    时间: 2012-4-23 23:56
delete_at(pos)
删除 pos 所指位置的单元并返回它。若 pos 超出数组范围则返回 nil
自己找到了。
@target_battlers.delete_at(rand(@target_battlers.size))





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