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

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

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ì?

middle

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

Bình luận

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

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