nil 是什么
nil 是一个特殊的值, 表示对象不存在. 像在正则表达式中表示无法匹配成功一样, 方法不能返回有意义的值时, 就会返回nil. 另外, 从数组或者散列中获取对象时, 若指定不存在的索引或者键, 则得到的返回值也是nil.
changsaangdeMBP:~ changsanjiang$ irb --simple-prompt
>> item = {name: "xiaoMing", age: 20}
=> {:name=>"xiaoMing", :age=>20}
>> item[:name]
=> "xiaoMing"
>> item[:dd]
=> nil
>>
if 语句和 while 语句在判断条件时, 如果碰到 false 和 nil, 则会认为是"假",除此以外, 都认为是"真". 因此, 除了可以使用返回 true 或者 false 的方法, 也可以使用"返回某个值"或者返回 "nil" 的方法作为判断条件表达式.
changsaangdeMBP:~ changsanjiang$ irb --simple-prompt
>> names = ["xiaoMing", "ming", "fenYun"]
=> ["xiaoMing", "ming", "fenYun"]
>> names.each do |name|
?> if /ming/i =~ name then
?> puts name
>> end
>> end
xiaoMing
ming
=> ["xiaoMing", "ming", "fenYun"]
>>
网友评论