यह खाली सूची नहीं लौटा रहा है, यह Unit
(शून्य-टुपल) लौटा रहा है, जो स्कैला जावा में void
के बराबर है। यदि यह खाली सूची लौटा रहा है तो आप ()
(नलरी टुपल) की बजाय कंसोल पर मुद्रित देखेंगे।
समस्या यह है कि आप अपने get
विधि के लिए गलत वाक्यविन्यास का उपयोग कर रहे हैं। आप संकेत मिलता है कि get
एक मान देता है एक =
उपयोग करने की आवश्यकता:
def get() = {
this.queue.head
}
या यह शायद और भी बेहतर है:
def get = this.queue.head
स्काला में आप आमतौर पर nullary कार्यों के लिए कोष्ठक (पैरामीटर सूची) को बंद रखना होगा जिसका कोई दुष्प्रभाव नहीं है, लेकिन जब आप queue.get
पर कॉल करते हैं तो आपको ब्रांड्स को बंद करने की आवश्यकता होती है।
आप Scala Style Guide पर विशेष रूप से section on methods पर एक त्वरित नज़र डालना चाहते हैं।
जब आप सीख रहे हों, तो आपको आवश्यकतानुसार अधिक प्रकार से स्पष्ट रूप से लिखना उपयोगी हो सकता है। इस मामले में, यदि आप 'def get(): int {this.queue.head} लिखा था, तो कंपाइलर ने आपको बताया होगा कि' get' विधि के साथ कोई समस्या थी। –