2010-04-19 17 views
7

के लिए इंटेलिजे आईडीईए 9.0.1 के साथ "हैलो वर्ल्ड" पर अटक गया है, मैं 20 से अधिक वर्षों के लिए सामान्य रूप से 2.x और आईडीई के बाद ग्रहण का उपयोग कर रहा हूं (क्योंकि 80 के दशक के अंत में टर्बो पास्कल और टर्बो सी के बाद से)। अब मैं कर रहा हूँस्केल

-:

(] कि प्रस्तावना यह सूचित करते हैं, "मैं एक बेवकूफ नहीं हूँ" ... लेकिन इतना स्मार्ट के रूप में मैंने इसे पढ़ा नहीं लग रहा ... LOL माना जाता है) IntelliJ 9.0.1 में स्कैला डीबगर का उपयोग करने की कोशिश कर रहा है। मैं अगर पर्यावरण सेटअप ठीक है की जाँच करने के एक पुराने अतिरिक्त, "हैलो दुनिया" चाल के लिए अपने आप को इस्तीफा दे दिया है:

 
class hello { 
    def main(a: Array[String]) = println("got args: " + a) 
} 

मैं भी इस संस्करण की कोशिश की, सिर्फ मामले में:

 
object hello extends Application { 
    println("hi") 
} 

आह , मैं चलाने के लिए भी इस सरल स्कैला उदाहरण पाने में असमर्थ हूं। मैं अंततः इसमें एक ब्रेकपॉइंट रखना चाहता हूं, लेकिन अभी इसे चलाने के लिए बहुत अच्छा होगा। मेरे पास जावा 1.6u20 और स्कैला प्लग-इन 0.3.473 (जनवरी 2010) है।

alt text http://img535.imageshack.us/img535/842/ij9.jpg

संभवतः क्या मैं गलत कर किया जा सकता है: नीचे त्रुटि मेरे अनुभव का सारांश दिया?

धन्यवाद

+0

ठीक है, यह मिल गया। .. पहले उदाहरण पर def मुख्य से '=' को हटाकर इसे ठीक करता है! मुझे लगता है कि मुख्य() के प्रकार हस्ताक्षर अभी भी मायने रखता है :) हालांकि, दूसरा उदाहरण काम करना चाहिए लेकिन नहीं। कोई विचार ??? (मेरी वास्तविक समस्या हल हो गई है, लेकिन अब मैं उत्सुक हूँ!) धन्यवाद –

+0

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

+0

एक तरफ ध्यान दें: आवेदन विशेषता के साथ समस्याएं हैं और अब इसे हटा दिया गया है। इसके बजाए ऐप का प्रयोग करें। – elbowich

उत्तर

5

संकलित करने के लिए यह लग रहा है अपने स्क्रीनशॉट से सक्षम नहीं होगा की तरह आप उपयोग कर रहे थे:

class hello { 
    def main(a: Array[String]) = println("got args: " + a) 
} 

मुख्य विधि किसी मुख्य विधि का समर्थन करने के लिए किसी ऑब्जेक्ट पर होना आवश्यक है।

ऑब्जेक्ट/क्लास नाम को कैपिटल करना सम्मेलन है लेकिन यह लागू नहीं है।

+0

यह निकटतम उत्तर था ...ऑब्जेक्ट में बदलना और "=" को हटाने से तत्काल समस्या ठीक हो जाती है (मैं अब उस कॉन्फ़िगरेशन संवाद को प्राप्त कर सकता हूं, हालांकि प्रोग्राम वास्तव में चलाने में विफल रहता है)। आप इसे प्रतिबिंबित करने के लिए अपना उत्तर संपादित करना चाह सकते हैं। धन्यवाद –

+0

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

1

यह प्लगइन में एक बग हो सकता है। यदि आप हेलो (पूंजीकृत) के रूप में ऑब्जेक्ट को परिभाषित करते हैं तो यह कम से कम मेरी मशीन पर काम करता है।

+1

मैंने कोशिश की, लेकिन यह समस्या का समाधान नहीं करता है। –

1

क्या आपकी फ़ाइल hello.scala कहलाती है? (मैं नहीं देख सकते हैं इसे अपने स्क्रीनशॉट में .scala एक्सटेंशन वाले) - यह एक .scala फ़ाइल होना चाहिए अन्यथा संकलक यह

+1

इंटेलिजे एक्सटेंशन को छुपाता है। विंडोज एक्सप्लोरर दिखाता है। स्कला –

2

जब आप वस्तु के लिए कक्षा से अपने कार्यान्वयन बदलने के लिए, यह एक आकर्षण की तरह काम करता है:

object Hello { 
    def main(a: Array[String]) = println("got args: " + a) 
} 

मैं इस छोटे से उठाया, लेकिन यहां महत्वपूर्ण अंतर: http://sonyarouje.com/2011/03/18/running-scala-in-intellij-idea-10/