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

expert

Sự khác biệt giữa extendinclude trong Ruby là gì?

senior

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

middle

Khi nào bạn sử dụng cú pháp do/end so với cú pháp sử dụng dấu ngoặc nhọn {} cho một block?

Bình luận

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

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