Làm thế nào tôi có thể đặt một mảng (như tuple trong ví dụ sau) vào một băm trong Perl?Tạo một hàm băm Perl với một mảng làm khóa
%h=();
@a=(1,1);
$h{@a}=1 or $h{\@a}=1??
Tôi đã thử với tham chiếu mảng, nhưng nó không hoạt động. Làm thế nào để làm cho nó hoạt động? Tôi muốn cơ bản de-trùng lặp bằng cách làm băm (trong số những thứ khác với điều này).
bạn sẽ cần phải đưa ra thuật toán băm của riêng bạn cho mảng của bạn, và sau đó sử dụng nó làm chìa khóa của bạn. –
bạn có thể cho một ví dụ được không? –
Điều này là không thể: Tất cả các khóa phải là chuỗi. Tuy nhiên, bạn có thể tham gia các phần của mảng để tạo thành một khóa có ký tự mà bạn có thể đảm bảo sẽ không xuất hiện trong các giá trị. Đây có thể là một byte NUL: '$ h {join" \ x00 ", @a} = 1'. – amon