Tôi có một lớp học với phương thức trả về băm. Thông thường, tôi sẽ nhận được kết quả như sau:Làm cách nào để quyết định một băm được trả về từ một phương thức của một lớp?
%resp = $myclass->sub($foo);
Và sau đó các thành viên truy cập của băm trở lại như thế này:
$resp{key}{subkey};
trong trường hợp của một hash 2d.
Tôi hình dung thì phải có một cách để kết hợp này thành một dòng thanh lịch duy nhất, một cái gì đó như thế này:
$myclass->sub($foo)->{key}{subkey}
Điều này rõ ràng là không dereferenced đúng như Perl trả về này khi cố gắng chạy mã:
Can't use string ("1/8") as a HASH ref
Trong cố gắng chuỗi dereferencing ngẫu nhiên, từ tìm "References quick reference" on Perlmonks, tôi đã đưa ra những điều sau đây, trong đó Perl không phàn nàn về, nhưng cũng không trả lại những gì tôi đang tìm kiếm:
$%{$myclass->sub($foo)}->{key}{subkey}
Ai đó có thể cho tôi biết chuỗi thoát khỏi cuộc hội thảo dereferencing là gì?
Mọi người dường như muốn làm cho cuộc sống ở đó trở nên khó khăn hơn bằng cách chuyển hai dòng hoàn toàn thành một dòng sai. Chắc chắn có những điều tốt hơn để suy nghĩ về. :) –