使用表達 「_ =>」 下面的代碼是不工作:不能在斯卡拉
val neighbors = ('a', List(1,2,3)) #:: ('b', List(2,3,4)) #:: ('c', List(3,4,5)) #:: Stream.empty
neighbors.count(_ => _._1 == 'a'))
不過,我可以這樣做:
neighbors.count(_._1 == 'a')
或:
neighbors.count(elem => elem._1 == 'a')
這兩個有效的解決方案。
問題:「_ =>」有什麼問題?
非常感謝你
*因爲它需要產生帶有兩個參數的函數。*爲什麼?該語言本身可以說'_ =>'只是簡單地將'_'綁定到一個新的變量名,類似於'_._ 1'的工作方式。 –
我認爲'_._ 1'只是產生一個函數'x => x._1',同樣'_ => c'產生函數'x => c'',其中c是一個獨立於x的表達式。 –