[无用] Crystal变量可以用!结尾

楼主: AIGecko (师大猫耳控)   2017-09-25 20:43:15
以下这单行的判断式恒执行
puts "non-zero" if val!=0
因为后面会被解读为 val! = 0
不知为何Crystal偏偏可以允许 ! 结尾的合法变量命名
又因 0 值非 false 或 nil 故成立
无用点在于 coding style是让 != 的两端都要加上空白
实际上应该写成以下写法
puts "non-zero" if val != 0
而这样写该判断式就不一定会成立(要看val之值)
大概是这样 很无用
作者: Neisseria (Neisseria)   2017-09-26 04:37:00
感谢分享,看起来好像是 parser 没写好的 bug XD
作者: dododavid006 (朔雪)   2017-09-26 13:36:00
可能是因为原本 ruby 的 method 名称就允许 ! 了吧
楼主: AIGecko (师大猫耳控)   2017-09-27 16:54:00
但是变量是不允许的 只有方法可以

Links booklink

Contact Us: admin [ a t ] ucptt.com