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

Sự khác biệt giữa Module#remove_methodModule#undef_method là gì?

senior

Tại sao Ruby không hỗ trợ overloading phương thức?

middle

Mô tả về closure trong Ruby?

Bình luận

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

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