代码之家  ›  专栏  ›  技术社区  ›  coder25

连接到窗体列表scala

  •  0
  • coder25  · 技术社区  · 6 年前

    我想创建一个测试类列表。

     case class Person(name:String)
    
       case class Test (desc:String)
    
       val list =Seq(Person("abc"),Person("def"))
        val s = Option(list)
        private val elems = scala.collection.mutable.ArrayBuffer[Test]()
        val f =for{
          l<-s
        }yield {
          for{
            e <-l
          } yield elems+=tranform(e)
    
        }
        f.toSeq
    
        def tranform(p:Person):Test= {
        Test(desc = "Hello "+p.name)
        }
    

    有人能帮忙做以下事情吗

    1. 避免多重 for
    2. 我想得到list(test(“hello abc”),test(“hello def”),而不是使用arraybuffer
    1 回复  |  直到 6 年前
        1
  •  1
  •   Levi Ramsey    6 年前

    我不知道你为什么要包装一个 Seq 在一个 Option (二) 顺序 表示“否” Person 这案子办得很好。有区别吗 None Some(Seq.empty[Person]) 在你的申请中?

    假设你不需要 Option[Seq[Person]] 以下内容:

    list.map(transform).toList