2012-03-30 9 views
11

निम्न विशेषता Parser[+T] एक विशेषता है जो एक फ़ंक्शन को बढ़ाती है जो Input स्वीकार करती है और Result[T] देता है।क्या विशेषता विस्तारित है (ए => बी) एक विशेषता विस्तार कार्य?

trait Parser[+T] extends (Input => Result[T]) 

क्या यह सही है?

उत्तर

14

दाएं।

Input => Result[T]Function1[Input, Result[T]] के लिए शॉर्टकट है। यह एक Abstrat विधि

def apply(v1: Input) : Result[T] 

जो जब वास्तविक समारोह कार्यान्वयन किया जाएगा परिभाषित है।

स्काला वाक्य रचना है कि कुछ अभिव्यक्ति e के लिए है की अनुमति देता है तरीकों apply बुलाया चुपचाप के नाम से जाना,, e(x1, ... xn)e.apply(x1, ... xn)

5

लगभग करने के लिए अनुवाद किया जाएगा। यह फ़ंक्शंस [इनपुट, परिणाम [टी]] कार्यों का प्रकार बनाता है जो इनपुट के रूप में इनपुट लेते हैं और परिणाम के रूप में परिणाम [टी] (टी नहीं) परिणाम देते हैं। परिणाम [टी] में एक सफल पार्स के बारे में जानकारी टी या एक त्रुटि है जो पार्स के दौरान होती है।

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