Ruby Nil Object
Bài đăng này đã không được cập nhật trong 8 năm
- Giới thiệu
Trong ngôn ngữ lập trình như Java, C, C++ có một đối tượng được gọi là NULL
thì trong Ruby chúng được gọi là nil
. Vậy nil
là gì?
- Nil Object
Trước đây, lập trình viên Java hay C sử dụng NULL như một giá trị đặc biệt hay là một từ khóa. NULL giữ một giá trị mà con trỏ sẽ không bao giờ đề cập tới.Do đó, để kiểm tra đối tượng là nil
(NULL), ta nên so sánh chúng với giá trị đặc biệt NULL:
if(sampleObject != null){
sampleObject.show()
} else {
System.out.println("Not Object")
}
Trong Ruby, một cách để kiểm tra đối tượng có phải nil hay không
unless sampleObject.nil?
sampleObject.show()
else
puts "Not Object!"
end
Với Ruby, mỗi giá trị là một đối tượng, nil cũng thế, thực tế nó là một thể hiện của Nil Class
> nil.class
=> NilClass
Ngoài ra nil luôn bằng nil
> nil == nil
=> true
inspect -> "nil"
Luôn trả về String "nil"
> nil.inspect
=>"nil"
nil?
có thể gọi method này trên bất kỳ đối tượng nào
> 5.nil?
=> false
> [1, 2, 3].nil?
=> false
> {:a=>1}[:b].nil?
=> true
> nil.nil?
=> true
Một số method khác
nil.to_a #=> []
nil.to_f #=> 0.0
nil.to_h #=> {}
nil.to_i #=> 0
nil.to_s #=> ""
Tham khảo
All rights reserved