Câu hỏi phỏng vấn Ruby
Câu hỏi

Sự khác biệt giữa #==#equal? là gì?

Câu trả lời

Trong Ruby, #==#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:

Sử dụng #==

  • Phương thức #== 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.

Sử dụng #equal?

  • Phương thức #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.

Ví dụ Minh Họa

a = "hello"
b = "hello"
c = a

a == b     # tru...
middle

middle

Gợi ý câu hỏi phỏng vấn

middle

Những nhược điểm của câu lệnh case so với các câu lệnh elsif lặp đi lặp lại là gì?

senior

Eigenclass là gì trong Ruby?

senior

Sự khác biệt giữa Object#dup#clone là gì?

Bình luận

Chưa có bình luận nào