I 할 수 있습니다게으른 "by-name"매개 변수가있는 매개 변수 목록 ("*")?
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)
^
는 다른 방법으로이 있나요 내가 원하는 걸 할거야? 왜 이것이 허용되지 않습니까?
이 멋진 보인다. 내 질문이 중복 된 것을 알았지 만 나는이 대답을 좋아한다. 나는'implicit class'를 지원하지 않지만 2.9를 사용하고 있습니다. 2.9에서 작동하도록 만들 수 있습니까? – Brian
나는 단지 암시 적으로 클래스 정의와 분리되어 있어야하는 것처럼 보입니다. – Brian