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

Giải thích sự khác biệt giữa việc sử dụng redoretry trong Ruby?

senior

Điều gì xảy ra nếu một block nhận hai đối số nhưng chỉ chấp nhận một đối số?

middle

Sự khác biệt chính giữa procslambdas là gì?

Bình luận

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

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