Ruby增量(+ =)为nil:NilClass引发错误未定义方法'+'

Davd_R

以下代码导致了我的问题:

class Foo
  def initialize(n=0)
    @n = n
  end

  attr_accessor :n

  def inc
    n+=1
  end
end

打电话Foo.new.inc提高了NoMethodError: undefined method '+' for nil:NilClass电话Foo.new.n收益0

为什么会Foo.new.inc引发错误?我可以做到Foo.new.n+=1

用户名

tldr; self.n = x必须始终使用某种形式的来分配给设置员

考虑到n += x膨胀到n = n + x其中n为绑定为一个局部变量,因为它出现在赋值的左侧。局部变量的这种“引入”抵消了对自身隐式方法调用(例如n-> self.n的正常回退行为

因此,由于n尚未分配(但现在已绑定为局部变量),因此表达式的计算 n = nil + x结果是导致异常引发的原因。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ruby错误:nil:NilClass的未定义方法`casecmp'

来自分类Dev

nil:NilClass的未定义方法“错误”-Ruby on Rails

来自分类Dev

Ruby错误:nil:NilClass的未定义方法“名称”

来自分类Dev

Ruby on Rails-nil:NilClass的未定义方法“错误”

来自分类Dev

Ruby on Rails - nil:NilClass 错误的未定义方法`each'

来自分类Dev

Ruby:nil:NilClass的未定义方法`[] ='

来自分类Dev

Ruby的nil:NilClass未定义方法`+'

来自分类Dev

使用Ruby获取方法错误“ NoMethodError:nil:NilClass的未定义方法'each'”

来自分类Dev

为什么在Ruby on Rails中出现nil:NilClass的错误“未定义方法'each'”?

来自分类Dev

Ruby的nil:NilClass未定义方法`user'

来自分类Dev

面向nil:NilClass的Ruby未定义方法“ []”(NoMethodError)

来自分类Dev

Ruby的nil:NilClass未定义方法`user'

来自分类Dev

nil:NilClass的未定义方法`each'-Ruby on Rails

来自分类Dev

未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

来自分类Dev

学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

来自分类Dev

Ruby where子句返回nil对象?ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):

来自分类Dev

在方法调用之前,nil:NilClass(NoMethodError)的Ruby未定义方法“ []”

来自分类Dev

Ruby on Rails-未定义的方法“是否持续?” 对于nil:NilClass

来自分类Dev

ruby / sql语法nil:NilClass的未定义方法“查询”(NoMethodError)

来自分类Dev

Ruby Heapsort:“接收器”:nil:NilClass的未定义方法“>”

来自分类Dev

NoMethodError(nil:NilClass的未定义方法“ []”):即使在使用dig时,Ruby on Rails

来自分类Dev

Ruby用Sinatra给出了“ NoMethodError:nil:NilClass的未定义方法'[]'”

来自分类Dev

Ruby:文本日志文件-nil:NilClass的未定义方法“ []”(NoMethodError)

来自分类Dev

Ruby on Rails的show.html.erb未定义方法“ naam”,用于nil:NilClass

来自分类Dev

井字游戏RUBY中nil:NilClass的未定义方法`keys'

来自分类Dev

Rails / Ruby-展出的nil:NilClass非常奇怪,未定义的方法“名称”

来自分类Dev

Ruby on Rails-未定义的方法“是否持续?” 对于nil:NilClass

来自分类Dev

ruby / sql语法nil:NilClass的未定义方法“查询”(NoMethodError)

来自分类Dev

nil:NilClass的未定义方法'foo'-在视图中引发错误,但可在Rails控制台中使用

Related 相关文章

  1. 1

    Ruby错误:nil:NilClass的未定义方法`casecmp'

  2. 2

    nil:NilClass的未定义方法“错误”-Ruby on Rails

  3. 3

    Ruby错误:nil:NilClass的未定义方法“名称”

  4. 4

    Ruby on Rails-nil:NilClass的未定义方法“错误”

  5. 5

    Ruby on Rails - nil:NilClass 错误的未定义方法`each'

  6. 6

    Ruby:nil:NilClass的未定义方法`[] ='

  7. 7

    Ruby的nil:NilClass未定义方法`+'

  8. 8

    使用Ruby获取方法错误“ NoMethodError:nil:NilClass的未定义方法'each'”

  9. 9

    为什么在Ruby on Rails中出现nil:NilClass的错误“未定义方法'each'”?

  10. 10

    Ruby的nil:NilClass未定义方法`user'

  11. 11

    面向nil:NilClass的Ruby未定义方法“ []”(NoMethodError)

  12. 12

    Ruby的nil:NilClass未定义方法`user'

  13. 13

    nil:NilClass的未定义方法`each'-Ruby on Rails

  14. 14

    未定义的方法“ +”,用于nil:NilClass(NoMethodError)-Ruby

  15. 15

    学习 Ruby on Rails:NoMethodError(未定义方法 `[]' for nil:NilClass):

  16. 16

    Ruby where子句返回nil对象?ActionView :: Template :: Error(nil:NilClass的未定义方法“ each”):

  17. 17

    在方法调用之前,nil:NilClass(NoMethodError)的Ruby未定义方法“ []”

  18. 18

    Ruby on Rails-未定义的方法“是否持续?” 对于nil:NilClass

  19. 19

    ruby / sql语法nil:NilClass的未定义方法“查询”(NoMethodError)

  20. 20

    Ruby Heapsort:“接收器”:nil:NilClass的未定义方法“>”

  21. 21

    NoMethodError(nil:NilClass的未定义方法“ []”):即使在使用dig时,Ruby on Rails

  22. 22

    Ruby用Sinatra给出了“ NoMethodError:nil:NilClass的未定义方法'[]'”

  23. 23

    Ruby:文本日志文件-nil:NilClass的未定义方法“ []”(NoMethodError)

  24. 24

    Ruby on Rails的show.html.erb未定义方法“ naam”,用于nil:NilClass

  25. 25

    井字游戏RUBY中nil:NilClass的未定义方法`keys'

  26. 26

    Rails / Ruby-展出的nil:NilClass非常奇怪,未定义的方法“名称”

  27. 27

    Ruby on Rails-未定义的方法“是否持续?” 对于nil:NilClass

  28. 28

    ruby / sql语法nil:NilClass的未定义方法“查询”(NoMethodError)

  29. 29

    nil:NilClass的未定义方法'foo'-在视图中引发错误,但可在Rails控制台中使用

热门标签

归档