2016-09-18 27 views
5

Trong Perl 6, làm thế nào tôi có thể lấy tên của hàm/chương trình con từ bên trong cơ thể của nó, khi chạy?Perl 6: Lấy tên hàm từ bên trong nó

Ví dụ,

sub foo { 
    say "My name is: " ~ <WHAT-API-HERE??> ; 
} 
... 
foo(); 

Đoạn mã trên nên in:

My name is: foo 

Tôi đã nhìn ở những nơi như MOP, FAQFunctions.

Trả lời

6
sub foo { say &?ROUTINE.name } 
foo 

hiển thị:

foo 

Xem Compile-time variables doc.

+1

Cảm ơn, tôi chỉ đơn giản là tìm kiếm các địa điểm sai như MOP, Câu hỏi thường gặp, Chức năng. – Harry

+4

@Harry Luôn chia sẻ ít nhất đề cập đến nỗ lực nghiên cứu của bạn khi đặt câu hỏi. Tôi vừa chỉnh sửa nhận xét của bạn vào câu hỏi của bạn để giúp nỗ lực nghiên cứu trước đây của bạn rõ ràng hơn. Tôi đoán rằng không nhận ra nỗ lực nghiên cứu trước đây của bạn có thể là lý do tại sao một người nào đó (không phải tôi) đã bỏ phiếu cho bạn. Dù sao, hy vọng điều này là hữu ích! Tôi thực sự rất vui vì bạn đã đặt câu hỏi này và vui mừng rằng raiph đã chia sẻ câu trả lời. –

+5

@Harry yw. Imo lựa chọn tìm kiếm của bạn (MOP, FAQ, vv) hoàn toàn hợp lý trong khi không có cách nào bạn có thể được dự kiến ​​sẽ biết để xem một trang trên các biến cho câu trả lời. Nói chung, tài liệu hướng dẫn tốt hơn nhiều so với nó nhưng vẫn còn một chặng đường dài để đi. Cũng lưu ý rằng, tại thời điểm viết nhận xét này, đến nay, nơi tốt nhất để nhận câu trả lời cho câu hỏi về Perl 6 tương đối nhanh chóng không phải là SO mà là các kênh IRC thân thiện khác nhau cho Perl 6, đáng chú ý nhất là [Freenode # perl6] (https://kiwiirc.com/client/irc.freenode.net/perl6). – raiph

Các vấn đề liên quan