ruby在if和unless中的赋值

浏览:2145 发布日期:2019-02-02 02:38:21

if语句不会被执行,但却可以从外部访问在if内部定义的b变量,它默认就是nil。

猜测可能是因为ruby的if, unless没有块作用域,虽然没有执行,但解释器依然扫过了这段代码。所以给它设置了nil

a = 3

if a > 3
  puts "进入"
  b = 4
end

puts "输出b"
p b