大佬教程收集整理的这篇文章主要介绍了Ruby中的/ \u0026\u0026的运算符优先级,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
红宝石文件说,提到的关键字的优先级是:(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
以上是大佬教程为你收集整理的Ruby中的/ \u0026\u0026的运算符优先级全部内容,希望文章能够帮你解决Ruby中的/ \u0026\u0026的运算符优先级所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。