मैं एक मजबूत जावा डेवलपर हूं जिसने हाल ही में अपने खाली समय में स्कैला लेने की कोशिश करना शुरू कर दिया है। मैं scala-lang.org से Scala by Example पीडीएफ के माध्यम से जा रहा हूं और उलझन में हूं कि पहले उदाहरण में त्वरित क्रम कैसे काम करता है। यहां कोड है:स्कैला कैसा है। एक सेक्र को निकालें?
object QuickSort extends App {
def sort(input: Array[Int]): Array[Int] = {
if(input.length <= 1) input
else
{
val pivot = input(input.length/2)
Array.concat(
sort(input filter (pivot >)),
input filter (pivot ==),
sort(input filter (pivot <))
)
}
}
sort(Array(5, 4, 3, 2, 1)) foreach println
}
मेरा प्रश्न वाक्यविन्यास या कुछ भी नहीं है, लेकिन मैं उलझन में हूं कि फ़िल्टर फ़ंक्शन कहां से आता है। पीडीएफ के अनुसार, यह कहता है कि यह सेक [टी] वर्ग से आता है, और सभी Arrays Seq [टी] के उदाहरण हैं। यह सब ठीक और बेवकूफ है और पीडीएफ पढ़ने के दौरान मैं संतुष्ट था और एक बहुत ही खुश नौसिखिया स्कैला डेवलपर था। लेकिन फिर मैंने थोड़ा गहरा खोला और scaladoc for Array[T] और ऐरे [टी] के लिए स्रोत कोड भी देखना शुरू कर दिया और मुझे नहीं पता कि कैसे ऐरे [टी] वर्ग सीक [टी] विशेषता को विस्तारित करता है या विरासत में आता है। मैं क्या खो रहा हूँ?