2012-01-11 5 views
5

यह काम करने लगता हैक्या MooseX :: घोषित करने के लिए 'विधि' को 'विधि' के समान लाइन पर होना आवश्यक है?</p> <pre><code>use MooseX::Declare; class Example { method my_method() { } } </code></pre> <p>इस विधि नहीं बना रहा है:

use MooseX::Declare; 
class Example { 
    method my_method() 
    { 

    } 
} 

हूँ मैं कुछ याद आ रही है, या यह MooseX::Declare की एक प्रतिबंध खोलने घुंघराले ब्रेस पर जाने के लिए किया है 'विधि' के समान रेखा?

--edit--

MooseX::Declare = 0,35

Devel::Declare = 0,006004 - लगता है जैसे मैं Devel::Declare में संस्करण नीचे हूँ, बाद के संस्करणों ActiveState पर्ल के भीतर उपलब्ध हो प्रतीत नहीं कुछ निर्माण के मुद्दे के कारण : http://code.activestate.com/ppm/Devel-Declare/ (0.006008 तक और सहित)

+0

निर्माण समस्या विचित्र है। Devel :: घोषणा अपने Makefile.PL में कुछ भी अजीब नहीं कर रही है जो इसे लटकाएगी। कई वैकल्पिक पीपीएम भंडार हैं: http://win32.perl.org/wiki/index.php?title=PPM_Repositories आप स्ट्रॉबेरी पर्ल का भी उपयोग कर सकते हैं जो एक कंपाइलर के साथ आता है और सीपीएएन से अधिकांश मॉड्यूल स्थापित कर सकता है। http://strawberryperl.com/ – Schwern

+0

@Schwern, स्ट्रॉबेरी में स्विच करने की कोई आवश्यकता नहीं है। 'सीपीएन' एएस में भी पूरी तरह से ठीक काम करता है। यदि आपके पास कंपाइलर नहीं है, तो एएस डाउनलोड करेगा, इंस्टॉल करेगा और 'mingw' का उपयोग करेगा। – ikegami

+0

समस्या वास्तव में MooseX :: विधि :: हस्ताक्षर में है। मेरे पास 0.37 (नवीनतम) है। – ikegami

उत्तर

4

हाँ, यह काम करना चाहिए। आपको Devel :: Declare को अपग्रेड करना पड़ सकता है, जो वाक्यविन्यास जादू करता है, या MooseX :: घोषित करता है।