Tôi đã đọc một số tệp delta perl513 * và tôi đã thấy một số tính năng mới sắp có trong Perl 5.14. Bắt đầu với Perl 5.13.7 nhiều chức năng mảng/băm sẽ hoạt động on array/hash refs as well. Trong khi điều này có thể được nhìn thấy chủ yếu là đường cú pháp, hoặc Perl làm những gì bạn mong đợi, tôi tự hỏi, sẽ/nên điều này thay đổi mô hình khai báo cấu trúc dữ liệu trong Perl? Với thông báo trước rằng nó phá vỡ khả năng tương thích với tai nghe Perl, những gì sẽ là tranh luận và chống lại bằng cách sử dụng cấu trúc vô danh chủ yếu?Sử dụng tham chiếu cấu trúc dữ liệu phổ biến hơn
Ví dụ:
#!/usr/bin/env perl
use strict;
use warnings;
use 5.13.7;
my $hashref = {
english => 'hello',
spanish => 'hola',
french => 'bon jour'
};
foreach my $greeting (keys $hashref) {
say $hashref->{$greeting}; #use say since we need a later version anyway
}
chứ không phải theo cách truyền thống hơn sử dụng một băm tên (%hash
).
P.S. Nếu điều này được nhìn thấy là tăng thêm tôi có thể thay đổi để CW, nhưng tôi tò mò muốn nghe một số quan điểm.
Điều này sẽ có lợi ích bổ sung mà bạn sẽ không phải sử dụng biến cố định thường xuyên. Bạn chỉ có thể sử dụng các lớp với quá tải. –
Thú vị. Có, sử dụng tính năng này sẽ ngăn mã của bạn chạy trên các phiên bản Perl cũ hơn. Do cơ sở cài đặt khổng lồ của các phiên bản Perl cũ hơn, tôi sẽ tránh nó trừ khi bạn biết bạn sẽ có quyền kiểm soát phiên bản Perl bạn sẽ chạy. (Nó chỉ là cú pháp sau khi tất cả.) –