查看: 2910|回复: 10

[已经解决] [已解决]if $game_map.map_id == 1 如果有很多怎么表达能简练?

[复制链接]
梦石
0
星屑
15041
在线时间
2230 小时
注册时间
2019-1-24
回帖
964

R考场第七期纪念奖

发表于 2019-9-5 21:44:10 | 显示全部楼层 |阅读模式

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

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

×
本帖最后由 miantouchi 于 2019-9-6 07:20 编辑

if $game_map.map_id == 1
        .....
else
        .....
end
如果有很多怎么表达能简练?
我现在是地图ID=1的话就操作。。。。

如果以后有很多张地图,不连续的怎么表达,如果像我下面这么写太长了,不利于维护,有没有什么好的办法
if $game_map.map_id == 1 or $game_map.map_id == 2 or $game_map.map_id == 5 or $game_map.map_id == 12
        .....
else
        .....
end
梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-9-5 22:07:57 | 显示全部楼层
本帖最后由 soulsaga 于 2019-9-5 22:09 编辑

if [1,2,5,12].include?($game_map.map_id)

评分

参与人数 2星屑 +50 赞 +1 收起 理由
RyanBern + 50 认可答案
miantouchi + 1 认可答案

查看全部评分

回复

使用道具 举报

梦石
0
星屑
39236
在线时间
11155 小时
注册时间
2009-3-15
回帖
4768
发表于 2019-9-6 16:08:34 | 显示全部楼层
本帖最后由 soulsaga 于 2019-9-6 20:36 编辑

顺帶一提..数组判断大於小於可以用all?

[pre lang="ruby"]if [1,2,3].all? {|v| v > $game_map.map_id} [/pre]

'

F1的Enumerable项有介绍

all?
all? {|item| ... }
当所有元素都为真时,返回 true。若某元素为假时,立即返回 false。

若带块调用时,会依次为各个元素来执行块的内容,若所有的结果都为真,则返回 true。一旦块返回假时, 立即返回 false。

p [1,2,3].all? {|v| v > 0}   # => true
p [1,2,3].all? {|v| v > 1}   # => false

any?
any? {|item| ... }
当所有元素都为假时,返回 false。一旦某元素为真时,立即返回 true。

若带块调用时,会依次为各个元素来执行块的内容,若所有的结果都为假,则返回 false。一旦块返回真时,立即返回 true。

p [1,2,3].any? {|v| v > 3}   # => false
p [1,2,3].any? {|v| v > 1}   # => true

点评

1,2,3只昃个数值..你想到哪里去了?>  发表于 2019-9-7 10:47
数组里的1,2,3,是什么啊?需要先定义一下嘛?  发表于 2019-9-7 00:39
数组里1,2,3全都大於地图ID时返回真..才对  发表于 2019-9-6 21:17
数组里1,2,3任意一个大於地图ID返回真  发表于 2019-9-6 20:44
大神请问下这"[1,2,3].all? {|v| v > $game_map.map_id}"翻译成中文是什么意思啊?  发表于 2019-9-6 19:31

评分

参与人数 1赞 +1 收起 理由
miantouchi + 1 精品文章

查看全部评分

回复

使用道具 举报

梦石
0
星屑
42235
在线时间
6017 小时
注册时间
2006-11-10
回帖
6966
发表于 2019-9-6 16:40:20 | 显示全部楼层
case $game_map.map_id
when 1,3,5
   改革春风吹满地
when "A", "B","C",
  中国人民真争气
else
  齐德隆
end
  

点评

又学一招  发表于 2019-9-7 10:40
齐东强  发表于 2019-9-6 20:18

评分

参与人数 3赞 +3 收起 理由
89444640 + 1 七个隆咚锵咚锵
miantouchi + 1 认可答案
taeckle + 1 启动器

查看全部评分

回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部