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

Project1

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

[已经解决] 请问有关逻辑运算符的问题

[复制链接]

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
跳转到指定楼层
1
发表于 2015-11-28 16:14:57 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
RUBY 代码复制
  1. b= 1
  2. a= 2
  3. (msgbox b)&&(msgbox a)


运行后 只显示1

RUBY 代码复制
  1. b= 1
  2. a= 2
  3. (msgbox b)||(msgbox a)


运行后 先显示1后显示2

我看了书&&表前后都是真是才显示,而||只要有一个是真 显示,
如题为啥我用&&只显示前面的,而||却显示2个呢

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

2
发表于 2015-11-28 16:24:03 | 只看该作者
因为 msgbox 返回值为 nil
回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
3
 楼主| 发表于 2015-11-28 16:51:13 | 只看该作者
谢喵大 我还是不太明白 nil不是true 应该相当于false吧
那(msgbox b)&&(msgbox a)就相当于 false  && false
拿应该是什么都不显示啊?

文化程度不高,见笑了{:2_271:}
回复 支持 反对

使用道具 举报

Lv4.逐梦者

「Pemercyia」


Urhurrenna

梦石
0
星屑
9397
在线时间
2748 小时
注册时间
2008-9-5
帖子
3543

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

4
发表于 2015-11-28 16:58:17 | 只看该作者
我看了书&&表前后都是真是才显示,而||只要有一个是真 显示

这个要这样理解吧:
a = true
b = false

if a && b
txt = 3
else
txt = false
end
msgbox txt  =》 false

if a || b
txt = 3
else
txt = false
end
msgbox txt  =》 3

评分

参与人数 1星屑 +150 收起 理由
VIPArcher + 150 塞糖

查看全部评分

回复 支持 反对

使用道具 举报

Lv1.梦旅人

梦石
0
星屑
75
在线时间
139 小时
注册时间
2014-5-4
帖子
69
5
 楼主| 发表于 2015-11-28 17:14:20 | 只看该作者
谢谢 椎名YASHIRO
你写的我看懂了,看看这
  1. a= true
  2. b = false

  3. (msgbox a) && b
复制代码
运行显示false

我的理解是喵大说msgbox返回值是空,
那(msgbox a) && b就相当于 nil && false
总的式子是 false,应该什么都不显示啊?

呵呵

回复 支持 反对

使用道具 举报

Lv5.捕梦者 (暗夜天使)

只有笨蛋才会看到

梦石
1
星屑
21484
在线时间
9389 小时
注册时间
2012-6-19
帖子
7114

开拓者短篇九导演组冠军

6
发表于 2015-11-28 17:23:13 | 只看该作者
本帖最后由 喵呜喵5 于 2015-11-28 17:27 编辑
invirgin 发表于 2015-11-28 17:14
谢谢 椎名YASHIRO
你写的我看懂了,看看这运行显示false


&&:
从左到右依次 执行 各个表达式,并判断表达式的返回值,若为 假 ,则 这个与判断必定为假,此时停止判断
||:
从左到右依次 执行 各个表达式,并判断表达式的返回值,若为 真 ,则这个 或判断必定为真,此时停止判断

如果你搞不懂的话,我建议你老老实实回去用 if 和 else
至于你说的不执行啥的,
你所谓的不执行意思是这个:
  1. b= 1
  2. a= 2
  3. if (nil && false)
  4.    p "hello world"
  5. end
复制代码
而你写的代码其实是这个:
  1. b= 1
  2. a= 2
  3. c1 =  msgbox b
  4. c2 =  msgbox a
  5. (c1)||(c2)
复制代码

点评

恩 谢谢 喵大  发表于 2015-11-28 18:42
如果不知道该选择哪个的话,建议选择mv,因为js语言的学习资源比ruby多上太多了  发表于 2015-11-28 18:38
认真考虑清楚自己未来一年要用哪个软件,然后专心去学其中一个,别朝三暮四  发表于 2015-11-28 18:37
我VA 、MV都不会,现在要不要直接放弃ruby,学js呢。还是先熟悉一点VA的脚本结构再转MV呢。  发表于 2015-11-28 18:29
谢谢 喵大 我终于 明白了 感谢几位大大不厌其烦的解决小白问题,现在有时间想系统的学学改脚本,我在图书馆借了本ruby的书,现在MV也出了。  发表于 2015-11-28 18:26

评分

参与人数 1梦石 +1 收起 理由
VIPArcher + 1 认可答案

查看全部评分

回复 支持 反对

使用道具 举报

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

本版积分规则

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

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

GMT+8, 2024-9-20 19:50

Powered by Discuz! X3.1

© 2001-2013 Comsenz Inc.

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