楼主: hys111111

[推荐问答] 还是晕了,怎么判断变量的类型?

[复制链接]

八宝粥的基叔

梦石
0
星屑
4957
在线时间
5234 小时
注册时间
2009-4-29
回帖
14054

贵宾

发表于 2012-9-4 21:44:11 | 显示全部楼层
hys111111 发表于 2012-9-3 22:44
因为变量可以使用$game_variables[2]="字符串"的。
而那个变量,我希望当它是数字时,进行加、减法、大于 ...

虽然P叔不是XP党的,但是我也想参与讨论一下。
a.is_a?(String)并不一定a是数值,也有可能一数组(Array)或者是其他
这里推荐一个rescue的方法吧,是防止弹框出错的妙招。
比如说定义带参数c的方法foo:
  1. def foo(c)
  2.   if c.is_a?(String)  #若c是字符串,那么令c等于0
  3.     c = 0
  4.   end
  5.   b = c * 2
  6.   return b
  7. end
复制代码
这样做,如果c是字符串或者数字都没事,但是如果c是一个数组那肯定是要弹窗报错的。
于是我们有一个万能的办法,只要报错就怎么怎么样,那就是利用rescue:
  1. def foo(c)
  2.   b = c * 2 rescue 0  #不报错就执行b = c * 2,报错就令b等于0
  3.   return b
  4. end
复制代码
利用rescue可以有效地对付弹窗类错误。
VX党首次来XP区讨论,若是有什么不对的地方,请大家指正。

评分

参与人数 1星屑 +200 收起 理由
hys111111 + 200 认可答案(2)

查看全部评分

《逝去的回忆3:四叶草之梦》真情发布,欢迎点击图片下载试玩喵。

《逝去的回忆3》的讨论群:
一群:192885514
二群:200460747
回复

使用道具 举报

双子人

梦石
0
星屑
3205
在线时间
3619 小时
注册时间
2009-4-4
回帖
3901

开拓者

 楼主| 发表于 2012-9-4 21:58:35 | 显示全部楼层
protosssonny 发表于 2012-9-4 21:44
虽然P叔不是XP党的,但是我也想参与讨论一下。
a.is_a?(String)并不一定a是数值,也有可能一数组 ...

额……

我先调试一下……
回复

使用道具 举报

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

本版积分规则

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

在本版发帖返回顶部