現在、値がSK5
と検索され、SK5
より上位のすべての値が返されます。しかし、フォーマットは以下のように返されます。出力スカラリストの書式設定
リスト((SK6、リスト(2,7、5,9、1,9、8,4、1,7、3,7、0,8、4、5、9、2、 (SK4、List(2,9,5,7,0,8,6)、 6、7、8、7、9、 (SK8、リスト(0,1,3,1,6,0,0,1,3,8,5,4,0,9,7,1,4,5,2,8))、 2つ、8つ、8つ、3つ、1つ、0、8つ、 (SK9、List(7,1,8,8,4,4,2,2,7,,4,0,6,9,5,5,6,7,8,9,10,11,12,13,14,15,16,17,18) (SK5、List(2,6,8,0,3,5,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23) 1,2,3,4,5,3,5,7,8,8,2,5,9,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23、
私がしたいことはSK6である - 、SK4 9から8などなど
すべて私がこれを分割し、唯一のリストの最後の数を表示する方法を、束ね?私はすでにこれをフィルタリングしていたと思ったが、明らかにそうではなかった。 以下は私のコードです。あなたは、各リストの最後の値を取得しようとしている場合Mapdata
がMap(String, List[Int])
//functionality to find the last tail element, the "Current" stock price
def findLast(list:List[Int]) = list.last
//8 - Show Stocks Higher Than (W) THIS ONE THIS ONE THIS ONE
def handleEight(): Boolean = {
mnuShowPointsForStockHigher(higherThan2)
true
}
//Returns a list value
def mnuShowPointsForStockHigher(stock: (String) => List[(String, List[Int])]) = {
print("Enter Stock > ")
val data = stock(readLine)
println(s"${data}")
//println(s"${data._1}: ${data._2.last}")
}
def higherThan2(stock: String): List[(String, List[Int])] = {
mapdata.toList.sortWith(_._2.last > _._2.last).takeWhile(row => row._2.last > mapdata.get(stock).map(findLast(_)).getOrElse(0))
}
リストの最後の番号/項目を取得しようとしていますか? List.lastを使用してください。詳細については、そのリンクを使用してください:http://www.scala-lang.org/api/current/scala/collection/immutable/List.html – Pavel
私はそれを試みました。各リストの最後の値の@PavelOliynyk –
最後にマップを使用する必要があります – Pavel