scala中嵌套循环的产量

scala中嵌套循环的产量,scala,Scala,我有一个数组,我想定义一个函数,它产生每一个元素。大概是这样的: def foo(l:MyList) = { for (e1 <- l.sub_list) { for(e2 <- e1.sub_list) { yield e2 } } } def bar(l:MyList) = { foo(l).map(a => { //.. body }) } def foo(l:MyList)={

我有一个数组,我想定义一个函数,它产生每一个元素。大概是这样的:

def foo(l:MyList) = {
    for (e1 <- l.sub_list) {
        for(e2 <- e1.sub_list) {
            yield e2
        }
    }
}

def bar(l:MyList) = {
  foo(l).map(a => {
    //.. body
  })
}
def foo(l:MyList)={
对于(e1而不是产量,可以使用
List.flatten

例如:

val l=列表(列表(1,2),列表(3),列表(4,5))
val f=l.flant//f:List[Int]=List(1,2,3,4,5)

您可以使用
列表。展平
而不是屈服

例如:

val l=列表(列表(1,2),列表(3),列表(4,5))
val f=l.flant//f:List[Int]=List(1,2,3,4,5)

我现在假设
l.sub_列表
将返回嵌套在
l
中的数组
MyList
可能如下所示:

type MyList[A] = Array[Array[A]]
foo
可定义为:

def foo[A](l: MyList[A]) = for {
  l1 <- l
  e <- l1
} yield e

编辑:在问题中添加了
bar

bar

def bar(l: MyList[Int]) = foo(l).map(_ * 10)
预期结果:

scala> bar(Array(Array(1,2,3), Array(4,5,6), Array(7,8,9)))
Array(10, 20, 30, 40, 50, 60, 70, 80, 90)

我现在假设
l.sub_列表
将返回嵌套在
l
中的数组
MyList
可能如下所示:

type MyList[A] = Array[Array[A]]
foo
可定义为:

def foo[A](l: MyList[A]) = for {
  l1 <- l
  e <- l1
} yield e

编辑:在问题中添加了
bar

bar

def bar(l: MyList[Int]) = foo(l).map(_ * 10)
预期结果:

scala> bar(Array(Array(1,2,3), Array(4,5,6), Array(7,8,9)))
Array(10, 20, 30, 40, 50, 60, 70, 80, 90)

我给你编码,
l1
是从哪里来的?关于函数的输入和输出的示例会很好。是的,你是对的。我修正了它。@badnack你能不能包括
MyList
的定义以及输入和预期结果的示例?我给你编码,
l1
是从哪里来的?还有关于什么的示例在函数中插入并输出内容会很好。是的,你是对的。我已修复。@badnack能否请你包括
MyList
的定义以及输入和预期结果的示例?