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

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 giữa Module#remove_methodModule#undef_method là gì?

middle

Dấu chấm than ! ở cuối một phương thức có ý nghĩa gì?

Bình luận

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

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