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

ruby Copy
a = "hello"
b = "hello"
c = a

a == b     # tru...
middle

middle

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

middle

Iterator trong Ruby là gì?

middle

Bạn có thể nói gì về một định danh bắt đầu bằng một chữ cái in hoa?

senior

Một block có phải là một đối tượng không?

Bình luận

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

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