Ruby类常量的一些概念可以通过本文介绍的内容初步掌握。Ruby类常量最多会被赋值一次,如果再次赋值则会出现警告。
Ruby语言中的常量是一个初学者必须要掌握的基本内容之一,只有这样才能编写出一个完善的Ruby程序。一个Ruby类常量由大写字母开头。#t#
它应最多被赋值一次.在Ruby的当前版本中,常量的再赋值只会产生警告而不是错误(non-ANSI版的eval.rb不会报告这一警告)
- ruby>fluid=30
- 30
- ruby>fluid=31
- 31
- ruby>Solid=32
- 32
- ruby>Solid=33
- (eval):1:warning:already
initializedconstantSolid - 33
Ruby类常量可以定义在类里,但不像实变量,它们可以在类的外部访问.
- ruby>classConstClass
- |C1=101
- |C2=102
- |C3=103
- |defshow
- |printC1,"",C2,"",C3,"\n"
- |end
- |end
- nil
- ruby>C1
- ERR:(eval):1:uninitialized
constantC1- ruby>ConstClass::C1
- 101
- ruby>ConstClass.new.show
- 101102103
- nil
Ruby类常量也可以定义在模块里.
- ruby>moduleConstModule
- |C1=101
- |C2=102
- |C3=103
- |defshowConstants
- |printC1,"",C2,"",C3,"\n"
- |end
- |end
- nil
- ruby>C1
- ERR:(eval):1:uninitializedconstantC1
- ruby>includeConstModule
- Object
- ruby>C1
- 101
- ruby>showConstants
- 101102103
- nil
- ruby>C1=99#notreallyagoodidea
- 99
- ruby>C1
- 99
- ruby>ConstModule::C1#themodule's
constantisundisturbed...- 101
- ruby>ConstModule::C1=99
- ERR:(eval):1:compileerror
- (eval):1:parseerror
- ConstModule::C1=99
- ^
- ruby>ConstModule::C1#..
regardlessofhowwetamperwithit.- 101
以上就是对Ruby类常量的正确理解。
转载请说明出处
知优网 » Ruby类常量简单应用方法(ruby类方法 实例方法)
知优网 » Ruby类常量简单应用方法(ruby类方法 实例方法)