Ruby ruby 的三元操作符

alex · 2012年03月06日 · 最后由 BBooB 回复于 2017年12月12日 · 18611 次阅读

看 ruby on rails tutorial 时有个地方说三元运算符是 var = boolean? ? foo : bar(http://ruby.railstutorial.org/chapters/user-microposts?version=3.2#sidebar:ternary_operator)可我记得只有一个问号啊,查了下书也是,俩问号在 irb 和 rails c 下也是语法错误。

谁告诉你是两个问号。。是一个问号 估计 boolean?整个是个方法名

Irb 里试试这个

true ? "yay" :"boo"

#1 楼 @ywencn 囧,抱歉卖萌了,俩问号中间有一空格

var = boolean? ? foo : bar 这个判断格式上没有问题,不过 boolean?是有问题的,应该是什么变量.boolean?,这个时候会返回 true 或者 false,后面的?,在做三元运算。比如:c = 11 a = c.present? ? "1" : "2", 这时 a = 1

需要 登录 后方可回复, 如果你还没有账号请 注册新账号