1
신참 같은 실수가 들리 겠지만 나는 그렇게 많이한다. 게으른 평가 된 블록이나 값을 함수에 전달하는 동안, 내가 어떻게 든 잊어 버리면, 그 함수의 대응하는 매개 변수가 게으름 (이름으로 전달/호출)을한다. 왜냐하면 이 약간의 혼란을 야기하기 때문이다.스칼라에서 느린 인수 전달에 도움이 있습니까?
lazy val a = {println("a");1}
def myfunc(b:Int){println("hello")}
myfunc(a);
출력 :
a
Hello
그래서 내 질문이 문제에 대한 컴파일러의 도움 (플래그 등)가 아니면 이것이 내가 알아서해야 일의 종류?
컴파일러는'=> Int'를 의미했지만 Int를 썼다고 감지 할 수 있습니까? –
해당 함수로 전달되는 매개 변수는 게으르거나 없음으로 표시됩니다. – altayseyhan
지연된 변수를 값으로 함수에 전달하는 것은 다른 방식으로 사용하는 것과 전혀 다릅니다. 어떤 시점에서 평가가 이루어져야합니다. 컴파일러는 어떻게 일어나고 있는지, 실제로 일어난 곳이 어디인지를 결정할 수 있습니다 - 그것이 문제입니다. – Dima