drop的结果是什么

Jag*_*war 1 scala

我在下面的scala中使用dropWhile是我的问题。问题:

val list = List(87, 44, 5, 4, 200)
list.dropWhile(_ < 100) should be(/*result*/)
Run Code Online (Sandbox Code Playgroud)

我的答案:

val list = List(87, 44, 5, 4, 200)
list.dropWhile(_ < 100) should be(List(44,5,4,200))
Run Code Online (Sandbox Code Playgroud)

根据关于dropWhile的文档,它将连续删除元素,直到不再满足谓词:在我的列表中,第一个元素将满足该谓词,因此我从列表中删除了第一个元素。

val list = List(87, 44, 5, 4, 200)
list.dropWhile(_ < 100) should be(/*result*/)
Run Code Online (Sandbox Code Playgroud)

我期待的结果是,List(44,5,4,200) 但事实并非如此。

uh_*_*boi 6

您有点朝错误的方向前进。列表的开头是87。下一个元素是44,依此类推。dropWhile它将继续从列表中删除元素,直到达到200。如果用200右边的更多元素来初始化列表,请说

val list = List(87, 44, 5, 4, 200, 54, 60)
Run Code Online (Sandbox Code Playgroud)

然后list.dropWhile(_ < 100)将返回dropped: List[Int] = List(200, 54, 60)