查看: 2372|回复: 4

[已经过期] 关于数组的问题

[复制链接]
梦石
0
星屑
723
在线时间
530 小时
注册时间
2010-6-9
回帖
668
发表于 2015-5-6 19:36:31 | 显示全部楼层 |阅读模式

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

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

×
我计划设置一个数组
例如skillwuli=[5,8,9,19,17]
在当我case item.id   #这里的item.id已经由上边一个if确定为是技能了,请不要在意。
when的时候 如何当角色技能列表里包含skillwuli中的其中一个元素时能when成功。(也就是包含在skillwuli的id之一)
求教。

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

开拓者短篇九导演组冠军

发表于 2015-5-6 19:44:32 | 显示全部楼层
if skillwuli.include? item.id

点评

第一个id换成item...  发表于 2015-5-30 18:02
when -> id { skillwuli.include? item.id }  发表于 2015-5-30 17:58
总共就两个状态,一个包含,一个不包含,吃饱了撑着用case啊…………= =  发表于 2015-5-6 23:30
能用when解决吗?因为上边已经case了。  发表于 2015-5-6 19:52
回复

使用道具 举报

梦石
0
星屑
3348
在线时间
1120 小时
注册时间
2009-4-15
回帖
761
发表于 2015-5-6 20:49:26 | 显示全部楼层
skillwuli=[5,8,9,19,17]
item.id = 10
case item.id
when skillwuli.each{|a| p "xxx" if a == item.id}
when 10
  p "123"
end
回复

使用道具 举报

梦石
0
星屑
9716
在线时间
2775 小时
注册时间
2008-9-5
回帖
3458

开拓者短篇八RM组冠军短篇九导演组亚军白银编剧

发表于 2015-5-6 21:17:38 | 显示全部楼层
这种问题怎么想都是用include?方便吧。。。
一定要保留case的话,
完全可以:

  1. if skillwuli.include?(item.id)
  2.   ...
  3. else
  4.   case xxx
  5.     ...
  6.   end
  7. end
复制代码
但是如果是要在skillwuli里做case把每一个分开处理的话,
大概也就只能一个一个填when了。

点评

学习了,  发表于 2015-5-8 10:34
回复

使用道具 举报

…あたしは天

梦石
0
星屑
2308
在线时间
4033 小时
注册时间
2010-10-4
回帖
10548

开拓者贵宾

发表于 2015-5-21 20:50:40 | 显示全部楼层
本帖最后由 taroxd 于 2015-5-21 21:06 编辑

when 后接 lambda 表达式或者 method 对象之类的。不懂别用
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部