मुझे इस स्काला कोड समझने में सहायता करें:समझौता स्काला कोड: (-_._ 2)
sortBy(-_._2)
मैं समझता हूँ कि पहले अंडरस्कोर (_
) एक प्लेसहोल्डर है। मैं समझता हूं कि _2
का अर्थ है टुपल का दूसरा सदस्य। लेकिन इस कोड में एक ऋण (-
) खड़ा है?
मुझे इस स्काला कोड समझने में सहायता करें:समझौता स्काला कोड: (-_._ 2)
sortBy(-_._2)
मैं समझता हूँ कि पहले अंडरस्कोर (_
) एक प्लेसहोल्डर है। मैं समझता हूं कि _2
का अर्थ है टुपल का दूसरा सदस्य। लेकिन इस कोड में एक ऋण (-
) खड़ा है?
क्रम उलटा (यानी उतरते), आप तरह से शून्य से टपल
अंडरस्कोर के दूसरे क्षेत्र है एक गुमनाम पैरामीटर, इसलिए -_ मूल रूप से के रूप में एक्स => -x
कुछ ही है सादा स्केला में उदाहरण: डिफ़ॉल्ट के रूप में ascending
आदेश से एक तरह से
scala> List(1,2,3).sortBy(-_)
res0: List[Int] = List(3, 2, 1)
scala> List("a"->1,"b"->2, "c"->3).sortBy(-_._2)
res1: List[(String, Int)] = List((c,3), (b,2), (a,1))
scala> List(1,2,3).sortBy(x => -x)
res2: List[Int] = List(3, 2, 1)
क्रमबद्ध। ऑर्डर को उलटा करने के लिए -
(मिनस) को पूर्ववत किया जा सकता है, जैसा कि पहले से ही @TrustNoOne द्वारा समझाया गया है।
तो दूसरा मान एक Tuple2
की द्वारा लेकिन उलटे क्रम में sortBy(-_._2)
प्रकार।
एक लंबे समय तक उदाहरण:
scala> Map("a"->1,"b"->2, "c"->3).toList.sortBy(-_._2)
res1: List[(String, Int)] = List((c,3), (b,2), (a,1))
रूप
scala> Map("a"->1,"b"->2, "c"->3).toList sortBy { case (key,value) => - value }
res1: List[(String, Int)] = List((c,3), (b,2), (a,1))
ही मुझे लगता है कि यह '¯ \ _ (ツ) _ /' ऑपरेटर के साथ कुछ किया है। –
@ लुकासडर इस ऑपरेटर के बारे में उत्सुकता के बारे में उत्सुक है। :-) – marcospereira
@marcospereira: आमतौर पर इसे '(╯ ° □ °) ╯(┻━┻ 'अपवाद को पकड़ने और अनदेखा करने के लिए उपयोग किया जाता है –