web-dev-qa-db-ja.com

scala.collection.immutable.Iterable [String]から最初と最後の要素を削除します

私はFormから値を取得する方法を変換しようとしていますが、どこかで立ち往生しています

val os= for {
  m <- request.body.asFormUrlEncoded
  v <- m._2
} yield v

osscala.collection.immutable.Iterable[String]そしてコンソールで印刷するとき

os map println

コンソール

sedet impntc
Sun
job
03AHJ_VutoHGVhGL70

最初と最後の要素を削除したいです。

29
Govind Singh

dropを使用して前面から削除し、dropRightを使用して末尾から削除します。

def removeFirstAndLast[A](xs: Iterable[A]) = xs.drop(1).dropRight(1)

例:

removeFirstAndLast(List("one", "two", "three", "four")) map println

出力:

two
three
48
Chris Martin

別の方法は、sliceを使用することです。

val os: Iterable[String] = Iterable("a","b","c","d")
val result = os.slice(1, os.size - 1) // Iterable("b","c")
5
Kigyo