यह एक नौसिखिया सवालस्केला: एक कार्यात्मक ढंग से संग्रह से एक वर जमा (है कि, कोई वार्स है)
है मैं निम्नलिखित कोड है:
var total = 0L
docs.foreach(total += _.length)
डॉक्स में मैं का एक संग्रह है .length संपत्ति के साथ वस्तुओं
मैं की तरह कुछ करना चाहते हैं:
val total = docs.[someScalaMethod](0, (element, acum) => acum + element.length)
मेरा मतलब है, एक विधि है कि दोहराता प्रत्येक तत्व एक संचायक चर गुजर ...
पहले शून्य मैं संचायक वर का प्रारंभिक मूल्य होना चाहिए पारित ..
यह कैसे प्राप्त किया जा सकता?
आपको http://stackoverflow.com/questions/2293592 सहायक भी मिल सकता है, लेकिन आपके प्रश्न को आपको वास्तव में पता होना चाहिए कि आपको क्या चाहिए, इसलिए आपको ट्यूटोरियल की आवश्यकता नहीं है - आपको बस यह जानने की जरूरत है कि क्या विधि कहा जाता है। –
मैंने वैल डॉक्स लम्बाई = यदि (docs.length == 0) 0 अन्य docs.map (_। लंबाई) .sum के लिए अंतिम रूप से बस गए हैं लेकिन सभी उत्तर वास्तव में बहुत उपयोगी थे – opensas
'docs.map (_। लंबाई) .sum' वही काम करेगा; 'sum' के लिए डिफ़ॉल्ट व्यवहार if/else है। –