【问题标题】:Why does a = a evaluate to nil? [duplicate]为什么 a = a 评估为零? [复制]
【发布时间】:2012-02-20 19:05:15
【问题描述】:

可能重复:
Why a = a is nil in Ruby?

在 Gary Bernhardt 提供的幽默 lightning talk - Wat 中,以下代码的计算结果为 nil:

a = a
#=> nil

但是除了自赋值之外的任何东西都会导致 NameError

b = c
#=> NameError: undefined local variable or method `c' for main:Object

有人能解释一下为什么a = a 的计算结果是nil吗?

【问题讨论】:

    标签: ruby behavior undefined-behavior


    【解决方案1】:

    因为分配给a 会为该范围创建a。分配给b 不会创建c

    【讨论】:

      猜你喜欢
      • 2011-05-20
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-10-28
      • 1970-01-01
      相关资源
      最近更新 更多