Xóa bài viết
Bạn có chắc chắn muốn xóa bài viết này không ?
Xóa bình luận
Bạn có chắc chắn muốn xóa bình luận này không ?
Sự khác nhau của == , ===, eql?, equal?
==, ===, eql?, equal? Những cái này đều để so sánh vậy nó khác nhau cái gì nhỉ?
Mình sẽ giải thích ở đây, theo cách hiểu của mình không trích dẫn từ nguồn nào hết. Vì vậy nếu có gì không đúng mọi người góp ý cho mình với nha.
1) ==
Kiểm tra cùng giá trị hay không
2) ===
Nó cũng kiểm tra có cùng giá trị hay không nhưng hơn thế nữa nó kiểm tra thử cái cốt lõi bên trong có giống nhau hay không.
3) eql?
Kiểm tra cùng giá trị và cùng kiểu dữ liệu dữ liệu hay không
4) equal?
Kiểm tra cùng giá trị và phải cùng object_id
Nếu phần định nghĩa vừa rồi làm bạn khó hiểu thì hãy theo dõi ví dụ dưới đây của mình:
1 == 1 # return true
Fixnum == 1 # return false
1 === 1 # return true
Fixnum === 1 # return true (Khác biệt giữa == và === là ở đây)
a = "a"
b = "a"
c = d = "a"
a.eql?b # return true các bạn kiểm tra a.class, b.class để biết được kiểu dữ liệu
a.equal?b # return false các bạn kiểm tra a.object_id, b.object_id để biết object_id
c.equal?d # return true các bạn kiểm tra c.object_id, d.object_id để biết object_id
Bình luận

{{ comment.user.name }}
Bỏ hay
Hay

Cùng một tác giả

25
21
Bạn muốn load 3 image khác nhau (Ý mình ở đây là dùng tag không phải background nhé) cho 3 loại màn hình khác nhau (small, medium, large). Bạn sẽ l...

21
8
Lotus là gì? (Link) là một Ruby Web Framework mới với chú trọng vào cấu trúc tách rời với thiết kế đơn giản và dễ hiểu. Hiện tại thì Lotus vừa re...

20
9
Tham gia cộng đồng Thoáng đó cũng đã 2 năm từ lúc tớ tham gia cộng đồng Ruby Việt Nam. Giờ ngồi ngẫm lại được gì và mất gì :v Thật thì chẳng mất...
Bài viết liên quan

9
6
Chưa xem phần 2? Xem (Link) Trong bài viết này tôi giới thiệu cho các bạn về khái niệm function arity, một cách gọi mĩ miều của số lượng argument ...

9
1
Tiếp theo (Link) Mình sẽ hướng dẫn cách test căn bản cho API mình tạo. Thật ra mà nói thì mình phải viết test trước khi làm nhưng mà để tránh việc...

5
2
__Chú thích__: Đây là bản dịch tiếng Việt của bài viết gốc của tôi. Nếu bạn muốn xem bản tiếng Anh, xin hãy trỏ tới URL (Link) Lời mở (Link) là ...