免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3047 | 回复: 4
打印 上一主题 下一主题

ruby unless的使用 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2012-02-03 18:32 |只看该作者 |倒序浏览
ruby unless的使用






ruby unless 表达式在条件为false才运行代码块,但其与条件"&& ||"逻辑组合使用一直没有搞懂.到底是false && false才运行unless的代码块,还是 false || false才继续运行.

其实这个问题很简单,只是一直没有想过这一点.unless只管条件是false还是true,至于是不是使用了 && 或 || 操作符,是不管的.
&&逻辑符,还是只有在前面条件为真时,才运行后面的条件


Ruby代码
  1. 1.puts 'ok' unless 1 && nil #整个条件表达式返回nil,那么unless条件成立,打印出ok   
  2. 2.puts 'ok' unless 1 || nil #整个条件表达式返回1,不成立,无打印输出   
  3. 3.puts 'ok' unless nil || false #整个条件表达式返回false,成立,打印ok  
复制代码

论坛徽章:
0
2 [报告]
发表于 2012-02-03 18:32 |只看该作者
谢谢分享

论坛徽章:
0
3 [报告]
发表于 2012-02-03 20:53 |只看该作者
一直没有想过这一点
谢谢分享

论坛徽章:
0
4 [报告]
发表于 2012-02-04 10:33 |只看该作者
unless就是对条件表达式取反。
先判断条件表达式的值:
1 && nil,结果是否,那么unless后就是真。
1 || nil,结果是真,那么unless后就是否。
任何语言都这样吧。

论坛徽章:
0
5 [报告]
发表于 2012-02-04 11:20 |只看该作者
记住“真亦假来,假亦真”就成了。
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP