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

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?

Câu trả lời

Sự An Toàn Khi Sử Dụng Chuỗi làm Khóa Hash

Trong Ruby, mặc dù chuỗi (strings) là đối tượng có thể thay đổi (mutable), bạn vẫn có thể an toàn sử dụng chúng làm khóa cho hash. Điều này là do khi một chuỗi được sử dụng làm khóa hash, Ruby sẽ sao chép chuỗi đó và "đóng băng" (freeze) sao chép đó để sử dụng làm khóa. Điều này có nghĩa là bản sao của chuỗi không thể bị thay đổi, và do đó nó trở thành một khóa ổn định cho hash

Khi bạn thêm một cặp khóa-giá trị vào hash, Ruby sẽ tính toán giá trị băm (hash value) dựa trên nội dung của chuỗi tại thời điểm đó. Giá trị băm này sau đó được sử dụng để xác định vị trí lưu trữ của cặp khóa-giá trị trong cấu trúc dữ liệu hash. Kể từ khi giá trị băm được tính toán, chuỗi khóa không cần phải giữ nguyên không thay đổi, vì giá trị băm đã được lưu trữ và không phụ thuộc vào chuỗi khóa nữa

Tối Ưu Hóa và Bất Biến

Ruby cũng đã tối ưu ...

middle

middle

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

senior

Khi nào bạn có thể gặp phải lỗi LocalJumpError?

senior

Một block có phải là một đối tượng không?

middle

Proc trong Ruby là gì?

Bình luận

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

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