스칼라 익명 함수를 정의 할 때 블록을 사용할 수 있습니까?
나는이 방법을 가지고있다 :def myMethod(value:File,x: (a:File) => Unit) = {
// Some processing here
// More processing
x(value)
}
나는 이것을 다음과 같이 부를 수 있음을 안다.
myMethod(new File("c:/"),(x:File) => println(x))
중괄호를 사용하여 호출 할 수있는 방법이 있는가? 뭔가 :
myMethod(new File("c:/"),{ (x:File) =>
if(x.toString.endsWith(".txt")) {
println x
}
})
아니면 다른 방법으로 쓰고 myMethod
전달해야합니까?
첫 번째 코드 단편을 실행할 때 다음과 같은 오류가 나타납니다. "(w.scala 조각) : 23 : 오류 : 값 x가"at line "의 단위가 아닙니다. – Geo
"println x "가 println이어야합니다 (x) – faran
고마워! 이 작품! 'x'의 타입을 어떻게 지정할 수 있습니까? – Geo