Sự khác biệt giữa #==
và #equal?
là gì?
Sự khác biệt giữa #==
và #equal?
là gì?
Trong Ruby, #==
và #equal?
là hai phương thức được sử dụng để so sánh các đối tượng, nhưng chúng khác nhau về mức độ chặt chẽ của việc so sánh:
#==
#==
là phương thức so sánh cơ bản nhất, được sử dụng để kiểm tra xem hai đối tượng có bằng nhau về mặt giá trị hay không. Nó có thể được ghi đè trong các lớp con để cung cấp cách so sánh tùy chỉnh dựa trên nội dung của đối tượng.#equal?
#equal?
được sử dụng để kiểm tra xem hai đối tượng có phải là cùng một đối tượng trong bộ nhớ hay không. Nói cách khác, #equal?
kiểm tra xem hai đối tượng có cùng địa chỉ bộ nhớ hay không, đây là mức độ so sánh nghiêm ngặt nhất.a = "hello"
b = "hello"
c = a
a == b # tru...
middle
Gợi ý câu hỏi phỏng vấn
Chưa có bình luận nào