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

varargs参数作为类型参数?

  •  2
  • IttayD  · 技术社区  · 16 年前

    有没有办法创造出类似的东西:

    class F[A] {def apply(a: A) = println(a)}
    

    这样我就可以:

    (new F[Int*])(1,2,3)
    

    更新:否则,我希望f接受正常参数:

    (new F[Int])(1)
    
    1 回复  |  直到 16 年前
        1
  •  1
  •   michael.kebe    16 年前
    scala> class F[A] { def apply(a: A*) = a.length }
    defined class F    
    
    scala> val instance = new F[Int]
    instance: F[Int] = F@11a6631
    
    scala> instance(1,2,3,4,5)
    res4: Int = 5
    
    推荐文章