ruby中除了false以外,其余所有对象中只有nil能代表为空,几遍是数字0也表示true
if nil
'nil is true'
else
'nil is false'
end
if 0
'0 is true'
else
'0 is false'
end
数组:
有多种方法调用
a = %w{a sa 1 d v}
a.shuffle #打乱顺序
a.reverse#逆序
a.sort#排序
但这些方法都只是返回值会改变
使用!(bang,感叹号一般读作bang)方法,可以改变原数组
a.sort! a.shuffle! a.reverse!
hash:
hash中的键可以是任何对象,常见的如字符串、symbol符号都可以
user = {:name => 'xx',"age"=>32}
符号作为键可以简写为 symbol_name: 'xxxx'
inspect:
ruby on rails 中经常使用的方法,inspect等价于 p方法
p [1,2,3,4] 等价于 [1,2,3,4].inspect
p方法会返回被调用对象的字符串字面量形式,inspect也是
类:
字符串和数组这样的类,可以直接通过"" []进行初始化
a = “123312asa"
a = [1,3,4,'s',:sd]
也可以通过new方法,两者等价
a = String.new("123asd")
a = Array.new([12,3,:a])
但是Hash有点特殊,传递给new方法的参数表示Hash的键对应的默认值
a = Hash.new(:a)#表示当调用Hash不存在的键的值的时候,值就是:a
a[:b] #a[:b] == :a
#继承
通过superclass方法,可以查看类的父类
superclass既是类方法又是对象方法,一直调用会发现,所有的对象所属的类
最终父类都是BasicObject