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

Project1

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

[已经解决] 如何判断数组包含值

[复制链接]

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41145
在线时间
7571 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

跳转到指定楼层
1
发表于 2010-12-4 18:45:36 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x

a=[[1,2,3],[4,5,6]]
如何判断其中是否包含[4,5,*], *为任意数
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托

Lv1.梦旅人

小小的百鬼夜行<

梦石
0
星屑
54
在线时间
579 小时
注册时间
2010-7-29
帖子
2682

贵宾

2
发表于 2010-12-4 20:13:47 | 只看该作者
将带嵌套的数组重整为不带嵌套的单纯数组,并返回它。flatten!的重整具有破环性,若原数组不带嵌套则返回nil。

例:

p [1, [2, 3, [4], 5]].flatten   #=> [1, 2, 3, 4, 5]

array = [[[1, [2, 3]]]]
array.flatten!
p array                         #=> [1, 2, 3]
include?(val)
若数组中包含==val的元素就返回真。

index(val)
返回数组中第一个==val的元素的位置。若没有与其相等的元素则返回nil。

indexes(index_1, ... , index_n) ((<obsolete>))
indices(index_1, ... , index_n) ((<obsolete>))
以数组形式返回其索引值与各参数值相等的元素。若指定了超出范围的索引值时,将指派nil与其对应。

例:

ary = %w( a b c d e )
p ary.indexes( 0, 2, 4 )          #=> ["a", "c", "e"]
p ary.indexes( 3, 4, 5, 6, 35 )   #=> ["d", "e", nil, nil]
p ary.indexes( 0, -1, -2 )        #=> ["a", "e", "d"]
p ary.indexes( -4, -5, -6, -35 )  #=> ["b", "a", nil, nil]

也不知道我拿的是否正确.
具体请参考RM手册里的ARRAY
某只PHP/HTML小白鼠→退屈の间


Cause I knew you were trouble when you walked in
So shame is on me now
I flow me to place i ve never been
till you put me down oh
Now Im lying on the cold hard ground
回复 支持 反对

使用道具 举报

Lv5.捕梦者 (管理员)

老黄鸡

梦石
0
星屑
41145
在线时间
7571 小时
注册时间
2009-7-6
帖子
13499

开拓者贵宾

3
 楼主| 发表于 2010-12-4 20:17:56 | 只看该作者
回复 退屈£无聊 的帖子

囧……我只是判断啊……

点评

若数组中包含==val的元素就返回真。 汝无视 = =  发表于 2010-12-4 20:24
RGDirect - DirectX驱动的RGSS,点我了解.
RM全系列成套系统定制请联系QQ1213237796
不接受对其他插件维护的委托
回复 支持 反对

使用道具 举报

Lv3.寻梦者

孤独守望

梦石
0
星屑
3132
在线时间
1535 小时
注册时间
2006-10-16
帖子
4321

开拓者贵宾

4
发表于 2010-12-4 20:22:50 | 只看该作者
勤奋一下会杀了你么……
for i in a
   if i.is_a?(Array) and i.include?(2) and i.include?(3) and i.length == 3
     return true
   end
end
return false

点评

I want to know what the"勤奋一下会杀了你么" mean.  发表于 2010-12-4 20:25

评分

参与人数 1星屑 +332 收起 理由
fux2 + 332 认可答案,懂了懂了,我的写法也类似,就是怕.

查看全部评分

菩提本非树,明镜本非台。回头自望路漫漫。不求姻缘,但求再见。
本来无一物,何处惹尘埃。风打浪吹雨不来。荒庭遍野,扶摇难接。
不知道多久更新一次的博客
回复 支持 反对

使用道具 举报

Lv1.梦旅人

尽头

梦石
0
星屑
119
在线时间
278 小时
注册时间
2010-6-20
帖子
1280
5
发表于 2010-12-4 20:28:36 | 只看该作者
比如要判断@a
已知@a = [64,97,15]
要判断@a是否含 97这个值
那么
for i in [email protected]
if @a == 97
@index = i
p @index
# 这样就能p出含97的@a了
end
end

点评

你这种就没必要了吧,直接用@a.include?(97)不就可以了么?  发表于 2010-12-4 21:10
回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-30 06:29

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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