2016-09-18 23 views
5

पर्ल 6 में, मैं रनटाइम पर अपने शरीर के भीतर से फ़ंक्शन/सबराउटिन का नाम कैसे प्राप्त कर सकता हूं?पर्ल 6: इसके अंदर से फ़ंक्शन का नाम प्राप्त करना

उदाहरण के लिए,

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

ऊपर कोड मुद्रित करना चाहिए:

My name is: foo 

मैं MOP, FAQ, और Functions जैसी जगहों में देखा है।

उत्तर

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

प्रदर्शित करता है:

foo 

देखें Compile-time variables doc

+1

धन्यवाद, मैं बस एमओपी, एफएक्यू, फंक्शंस जैसे गलत स्थानों पर देख रहा था। – Harry

+4

@ हैरी हमेशा एक प्रश्न पूछते समय अपने शोध प्रयास का कम से कम उल्लेख साझा करें। मैंने आपके पिछले शोध प्रयास को और अधिक स्पष्ट बनाने में मदद के लिए बस अपनी टिप्पणी में आपके टिप्पणी को संपादित किया। मैं अनुमान लगा रहा हूं कि आपके पिछले शोध प्रयास को महसूस नहीं किया जा सकता है क्यों कोई (मुझे नहीं) ने आपको नीचे गिरा दिया। वैसे भी, उम्मीद है कि यह सहायक है! मैं वास्तव में खुश हूं कि आपने इस सवाल से पूछा और खुशी है कि राइफ ने जवाब साझा किया। –

+5

@ हैरी वाईडब्ल्यू। इमो आपके खोज विकल्प (एमओपी, एफएक्यू इत्यादि) पूरी तरह से उचित थे, जबकि जवाब के लिए चर पर किसी पृष्ठ को देखने के लिए आपको कोई तरीका नहीं होने की उम्मीद की जा सकती है। अधिक आम तौर पर प्रलेखन की तुलना में काफी बेहतर है लेकिन अभी भी जाने का एक लंबा सफर तय है। यह भी ध्यान रखें कि, इस टिप्पणी को लिखने के समय, पर्ल 6 के बारे में प्रश्नों के उत्तर पाने के लिए अब तक का सबसे अच्छा स्थान अपेक्षाकृत तेज़ नहीं है बल्कि पर्ल 6 के लिए विभिन्न अनुकूल आईआरसी चैनल हैं, विशेष रूप से [फ्रीनोड # perl6] (https://kiwiirc.com/client/irc.freenode.net/perl6)। – raiph

संबंधित मुद्दे