ruby在if条件不成立的时候自动设置变量为nil

Ruby | 2013-01-11 16:46:43 | 阅读 2109 次 | 评论(0)
$ pry
[1] pry(main)> a
NameError: undefined local variable or method `a' for main:Object
from (pry):1:in `__pry__'
[2] pry(main)> if 1 == 2
[2] pry(main)*   a = 'aaa'
[2] pry(main)* end  
=> nil
[3] pry(main)> a
=> nil
ruby的语法有些怪异,倒是挺方便,把
else
  a = nil

给省了


这是因为ruby的解释器只要看见 “a =” 的字样,就会预先给它赋值nil,而不管这个赋值表达式到底会不会被执行到
文章评论,共0条
游客请输入验证码
浏览1857177次
文章归档
最新评论
  • 静夜思:它下面的,直到ob_get_clean() 为止
  • 静夜思:9年了,当年解决这个问题的思路记忆犹新😊