Ruby类常量的一些概念可以通过本文介绍的内容初步掌握。Ruby类常量最多会被赋值一次,如果再次赋值则会出现警告。

Ruby语言中的常量是一个初学者必须要掌握的基本内容之一,只有这样才能编写出一个完善的Ruby程序。一个Ruby类常量由大写字母开头。#t#

Ruby类常量简单应用方法(ruby类方法 实例方法)  Ruby类常量 第1张

它应最多被赋值一次.在Ruby的当前版本中,常量的再赋值只会产生警告而不是错误(non-ANSI版的eval.rb不会报告这一警告)

  1. ruby>fluid=30
  2. 30
  3. ruby>fluid=31
  4. 31
  5. ruby>Solid=32
  6. 32
  7. ruby>Solid=33
  8. (eval):1:warning:already
    initializedconstantSolid
  9. 33

Ruby类常量可以定义在类里,但不像实变量,它们可以在类的外部访问.

  1. ruby>classConstClass
  2. |C1=101
  3. |C2=102
  4. |C3=103
  5. |defshow
  6. |printC1,"",C2,"",C3,"\n"
  7. |end
  8. |end
  9. nil
  10. ruby>C1
  11. ERR:(eval):1:uninitialized
    constantC1
  12. ruby>ConstClass::C1
  13. 101
  14. ruby>ConstClass.new.show
  15. 101102103
  16. nil

Ruby类常量也可以定义在模块里.

  1. ruby>moduleConstModule
  2. |C1=101
  3. |C2=102
  4. |C3=103
  5. |defshowConstants
  6. |printC1,"",C2,"",C3,"\n"
  7. |end
  8. |end
  9. nil
  10. ruby>C1
  11. ERR:(eval):1:uninitializedconstantC1
  12. ruby>includeConstModule
  13. Object
  14. ruby>C1
  15. 101
  16. ruby>showConstants
  17. 101102103
  18. nil
  19. ruby>C1=99#notreallyagoodidea
  20. 99
  21. ruby>C1
  22. 99
  23. ruby>ConstModule::C1#themodule's
    constantisundisturbed...
  24. 101
  25. ruby>ConstModule::C1=99
  26. ERR:(eval):1:compileerror
  27. (eval):1:parseerror
  28. ConstModule::C1=99
  29. ^
  30. ruby>ConstModule::C1#..
    regardlessofhowwetamperwithit.
  31. 101

以上就是对Ruby类常量的正确理解。

转载请说明出处
知优网 » Ruby类常量简单应用方法(ruby类方法 实例方法)

发表评论

您需要后才能发表评论