We walk and learn
Ruby version: 2.3.0
表现数据的基本单位。常用对象包括:
表示对象的种类。常用对象同类的对照表为:
| 对象 | 类 |
| 数值 | Numeric |
| 字符串 | String |
| 数组 | Array |
| 散列 | Hash |
| 正则表达式 | Regexp |
| 文件 | File |
| 符号 | Symbol |
[a-z] 或 _ 开头。$ 开头。@ 开头。@@ 开头。nil、true、false、self 等都是伪变量。$ 开头的特殊变量,其值在运行过程中被解释器修改,方便记录一些常用结果。如 $`、$&、$' 分别表示正则表达式匹配部分前边的字符串、匹配部分的字符串、匹配部分后边的字符串。常量(constant)以 [A-Z] 开头。对已经赋值的常量再进行赋值,会发生警告。
预定义常量(pre-defined constant)顾名思义,如 RUBY_VERSION(运行版本)、RUBY_PLATFORM(运行平台)、ARGV(命令行参数)等。
注意 ARGV 是常量,在使用时不可更改。
另外以 _ 开头的即使部分全部为大写内容,依然为变量。如 __NUM__ 为变量,可以重复赋值。但 __LINE__ 等为保留字,无法赋值。
__NUM__ = 1;
__NUM__ = 2; # => 2
__LINE__ = 1; # => SyntaxError
| __LINE__ | __ENCODING__ | __FILE__ | BEGIN | END |
| alias | and | begin | break | case |
| class | def | defined? | do | else |
| elsif | end | ensure | false | for |
| if | in | module | next | nil |
| not | or | redo | rescue | retry |
| return | self | super | then | true |
| undef | unless | until | when | while |
| yield | | | | |
a, b, c = 1, 2, 3 # => 1, 2, 3
a, b, *c = 1, 2, 3, 4, 5 # => 1, 2, [3, 4, 5]
a, *b, c = 1, 2, 3, 4, 5 # => 1, [2, 3, 4], 5
a, b = b, a
ary = [1, 2]
a, b = ary # => 1, 2
变量名、方法名使用 _ 间隔,如 sort_by_name。
类名、模块名使用大写字母间隔,如 HelloWorld。