0

Ruby Nil Object

  1. 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ì?

  1. 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

https://ruby-doc.org/core-2.3.0/NilClass.html

http://lukaszwrobel.pl/blog/ruby-is-nil


All rights reserved

Viblo
Hãy đăng ký một tài khoản Viblo để nhận được nhiều bài viết thú vị hơn.
Đăng kí