Ruby:为什么实例变量在类nil中定义?

达雷姆克
class Something
  @b = [4432]
  def screen
    puts @b.class
  end
end
s = Something.new
s.screen

输出'Nilclass'。想知道,为什么在类内部定义的实例变量始终是NilClass的一部分?

约格午间

实例变量属于对象(又称实例),这就是为什么它们被称为实例变量。每个实例都有自己的实例变量。

在您的情况下,有两个对象:(Something是的一个实例Class)和s(是的一个实例Something)。这两个对象中的每一个都有其自己的实例变量集。Something有一个名为的实例变量@b,它指向[4432]s没有命名实例变量,@b因为您从未分配它,并且未初始化的实例变量的计算结果为nil

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

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

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

为什么不能在Ruby的单例类定义中访问类实例变量?

来自分类Dev

为什么在类中定义的变量不是局部变量而是Java中的实例变量?

来自分类Dev

为什么在类中定义的变量不是局部变量而是Java中的实例变量?

来自分类Dev

为什么在Ruby中未初始化的实例变量返回nil,但是未初始化的类变量引发错误?

来自分类Dev

Ruby为什么类实例变量是线程安全的

来自分类Dev

如果Ruby类的实例变量包含模块中的变量值,为什么不能将它放入?

来自分类Dev

类中的 Ruby 实例变量?

来自分类Dev

为什么允许在Ruby中的类外部定义全局方法?

来自分类Dev

类实例变量在实例方法中以nil的形式出现

来自分类Dev

Ruby中的类级别实例变量

来自分类Dev

子类中的Ruby类实例变量

来自分类Dev

为什么Parent类的实例变量的变化会反映在Child类中?

来自分类Dev

为什么我的实例变量在AHK中像类变量一样起作用?

来自分类Dev

为什么我不能在类定义中实例化同一类的对象

来自分类Dev

Ruby mixin - 访问类实例中的模块实例变量

来自分类Dev

为什么在类中声明的变量,在函数中定义的变量可以初始化?

来自分类Dev

为什么在Java类中包含类成员变量不像ruby mixin?

来自分类Dev

Ruby 中的实例变量;为什么我必须(有时)指定`self`?

来自分类Dev

@count是Ruby中的实例变量还是类变量?

来自分类Dev

为什么没有在inspect中列出内置类的子类的实例变量?

来自分类Dev

为什么不能在类中初始化实例变量?

来自分类Dev

为什么我们在类中声明静态变量,而在类外部定义?

来自分类Dev

为什么我不能从类外部访问 __init__ 中定义的类变量?

来自分类Dev

为什么我的ES6(使用Babel)类说“ this”在实例方法中未定义?

来自分类Dev

Rails 4,自定义操作中的实例变量未更新,为什么?

来自分类Dev

Rails 4,自定义操作中的实例变量未更新,为什么?

来自分类Dev

为什么在OO编程中用于强制转换对象的实例在变量中实例化超类和子类?

来自分类Dev

为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

来自分类Dev

为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

Related 相关文章

  1. 1

    为什么不能在Ruby的单例类定义中访问类实例变量?

  2. 2

    为什么在类中定义的变量不是局部变量而是Java中的实例变量?

  3. 3

    为什么在类中定义的变量不是局部变量而是Java中的实例变量?

  4. 4

    为什么在Ruby中未初始化的实例变量返回nil,但是未初始化的类变量引发错误?

  5. 5

    Ruby为什么类实例变量是线程安全的

  6. 6

    如果Ruby类的实例变量包含模块中的变量值,为什么不能将它放入?

  7. 7

    类中的 Ruby 实例变量?

  8. 8

    为什么允许在Ruby中的类外部定义全局方法?

  9. 9

    类实例变量在实例方法中以nil的形式出现

  10. 10

    Ruby中的类级别实例变量

  11. 11

    子类中的Ruby类实例变量

  12. 12

    为什么Parent类的实例变量的变化会反映在Child类中?

  13. 13

    为什么我的实例变量在AHK中像类变量一样起作用?

  14. 14

    为什么我不能在类定义中实例化同一类的对象

  15. 15

    Ruby mixin - 访问类实例中的模块实例变量

  16. 16

    为什么在类中声明的变量,在函数中定义的变量可以初始化?

  17. 17

    为什么在Java类中包含类成员变量不像ruby mixin?

  18. 18

    Ruby 中的实例变量;为什么我必须(有时)指定`self`?

  19. 19

    @count是Ruby中的实例变量还是类变量?

  20. 20

    为什么没有在inspect中列出内置类的子类的实例变量?

  21. 21

    为什么不能在类中初始化实例变量?

  22. 22

    为什么我们在类中声明静态变量,而在类外部定义?

  23. 23

    为什么我不能从类外部访问 __init__ 中定义的类变量?

  24. 24

    为什么我的ES6(使用Babel)类说“ this”在实例方法中未定义?

  25. 25

    Rails 4,自定义操作中的实例变量未更新,为什么?

  26. 26

    Rails 4,自定义操作中的实例变量未更新,为什么?

  27. 27

    为什么在OO编程中用于强制转换对象的实例在变量中实例化超类和子类?

  28. 28

    为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

  29. 29

    为什么在我的表单中的实例变量返回nil,而该语句的赋值部分却没有呢?

热门标签

归档