Ruby中的/ \u0026\u0026的运算符优先级
发布时间:2020-12-16 20:20:11 所属栏目:百科 来源:网络整理
导读:参见英文答案 Difference between “and” and in Ruby?6 我有一个关于Ruby中的 / =关键字的问题. 红宝石文件说,提到的关键字的优先级是:(1)(2)=,(3)和. 我有这段代码片段: def f(n) nendif a = f(2) and b = f(4) then puts "1) #{a} #{b}" endif a = f(2
参见英文答案 >
Difference between “and” and && in Ruby?6
我有一个关于Ruby中的&& / =关键字的问题. 红宝石文件说,提到的关键字的优先级是:(1)&&(2)=,(3)和. 我有这段代码片段: def f(n) n end if a = f(2) and b = f(4) then puts "1) #{a} #{b}" end if a = f(2) && b = f(4) then puts "2) #{a} #{b}" end 输出为: 1)2 4 [预计] 2)4 4 [为什么] 由于某些原因使用&&导致a和b评估为4? 解决方法
我不太明白你问的问题.我的意思是你自己已经给出了答案,甚至提出了这个问题:&&绑定比=更紧,而且比
因此,在第一种情况下,表达式如下评估: ( a=f(2) ) and ( b=f(4) ) ( a= 2 ) and ( b=f(4) ) 2 and ( b=f(4) ) # a=2 2 and ( b= 4 ) # a=2 2 and 4 # a=2; b=4 4 # a=2; b=4 在第二种情况下,评估如下: a = ( f(2) && ( b=f(4) ) ) a = ( 2 && ( b=f(4) ) ) a = ( 2 && ( b= 4 ) ) a = ( 2 && 4 ) # b=4 a = 4 # b=4 4 # b=4; a=4 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |