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

Sự khác biệt giữa `Objec...

Câu trả lời

Trong Ruby, cả Object#dup#clone đều là các phương thức được sử dụng để tạo ra một bản sao của một đối tượng, nhưng chúng có một số sự khác biệt quan trọng:

Sử dụng Object#dup

  • dup tạo ra một bản sao mới của đối tượng, sao chép giá trị của đối tượng đó nhưng không sao chép trạng thái liên quan đến taint và freeze.
  • dup không sao chép singleton methods (phương thức định nghĩa trên một đối tượng cụ thể) và cũng không sao chép trạng thái frozen của đối tượng.

Sử dụng #clone

  • clone cũng tạo ra một bản sao mới của đối tượng, nhưng nó sao chép cả trạng thái taint và freeze của đối tượng gốc.
  • clone sao chép cả singleton methods và bất kỳ trạng thái nội tại nào của đối tượng, bao gồm cả trạng thái f...
senior

senior

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

middle

Tại sao bạn lại muốn đặt bí danh cho một phương thức trong Ruby?

middle

Tại sao bạn có thể an toàn sử dụng chuỗi làm khóa hash, mặc dù chuỗi là có thể thay đổi?

middle

Sự khác biệt khi gọi một phương thức private so với gọi một phương thức public từ bên trong lớp định nghĩa nó là gì?

Bình luận

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

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