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

优雅地归还地图

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

    我是来自Java的Scala新手,从这个函数优雅地返回Map时遇到了困难。重写这个函数的优雅方式是什么,这样就有了一个退出点?

    foo(): Map[TypeDef, DataFrame]
    if (someTest) {
        if (someTest2) {
             val a = A()
             val b = B()
             Map(a -> b)
        } else {
           Map.empty
        }
    } else {
        Map.empty
    }
    
    1 回复  |  直到 6 年前
        1
  •  2
  •   randal25    6 年前

    你可以这样写:

    def foo(): Map[TypeDef, DataFrame] = 
        if (someTest && someTest2) Map(A() -> B()) else Map.empty