如何在scala中的特定索引处启动foreach循环?
我是scala新手,想知道如何在scala中的特定索引处启动foreach循环?我的代码当前看起来像这样:如何在scala中的特定索引处启动foreach循环?,scala,loops,foreach,Scala,Loops,Foreach,我是scala新手,想知道如何在scala中的特定索引处启动foreach循环?我的代码当前看起来像这样: var i = list.indexOf("three") for(n <-list){ /*do some operation*/ } var i=list.indexOf(“三”) 对于(n使用drop: for (n <- list.drop(i)) {...} 用于(n使用drop: for (n <- list.drop(i)) {...} 对于(
var i = list.indexOf("three")
for(n <-list){
/*do some operation*/
}
var i=list.indexOf(“三”)
对于(n使用drop
:
for (n <- list.drop(i)) {...}
用于(n使用drop
:
for (n <- list.drop(i)) {...}
对于(n好吧,你可以像另一个答案所建议的那样使用.drop
,但在这种情况下,这样做是错误的。你最终会遍历列表的开头两次,这既低效又不雅观
您只需进行一次扫描即可完成相同的操作:
list
.dropWhile(_ != "three")
.tail
.foreach { n =>
...
}
好吧,你可以像另一个答案所建议的那样使用.drop
,但在这种情况下,这样做是错误的。你最终会遍历列表的开头两次,这既低效又不雅观
您只需进行一次扫描即可完成相同的操作:
list
.dropWhile(_ != "three")
.tail
.foreach { n =>
...
}