2

できます:

scala> def foo( f: => String) = println(f)
foo: (f: => String)Unit

そして私はできる:

scala> def foo( f: String*) = f.map(println)
foo: (f: String*)Seq[Unit]

しかし、私はできません:

scala> def foo( f: =>String* ) = f.map(println)
<console>:1: error: ')' expected but identifier found.
       def foo( f: =>String* ) = f.map(println)
                       ^

または

scala> def foo( f: (=>String)* ) = f.map(println)
<console>:1: error: no by-name parameter type allowed here
       def foo( f: (=>String)* ) = f.map(println)
                ^

私がやりたいことをする他の方法はありますか?なぜこれが許可されていないのですか?

4

1 に答える 1