2014-02-13 4 views
0

익명 함수의 결과를 인수로 다른 함수로 보내는 방법은 무엇입니까?스칼라 익명 함수를 인수로 보내는 방법

object TestThisFunction { 

    def getString(): String = { 
    "foo" 
    } 

    def useString(foo: String) = { 
     println(foo + "bar") 
    } 

    useString("foo"); 
    useString(getString()); 

    // This does not work: type mismatch; found :() => String required: String 
    useString(() => { 
    "foo" 
    }) 
} 

익명 함수를 사용하여 useString 마지막 호출() 일을 할 것 몇 가지 구문이 있나요 : 예를 들어

?

감사합니다. 필요한 경우,

useString((() => { 
    "foo" 
})()) 

또한 인수에 전달할 수 있습니다 :

답변

3

전화 익명 함수 즉시 생성 한 후, 대신 함수 자체, 그것은 평가 값을 사용할 수있어이하는

scala> ((a: String) => { a })("bar") 
res3: String = bar 
관련 문제