내가 다음 코드 작성 :스칼라 계승 구문 오류
def factorial(x: Int, factorial(x => { if (x == 0) 1 else x * factorial(x - 1) })): Int = factorial(3)
을하지만 오류가있어 :
<console>:1: error: ':' expected but '(' found.
내가 다음 코드 작성 :스칼라 계승 구문 오류
def factorial(x: Int, factorial(x => { if (x == 0) 1 else x * factorial(x - 1) })): Int = factorial(3)
을하지만 오류가있어 :
<console>:1: error: ':' expected but '(' found.
당신은 당신의 데프의 PARAM 항목으로 factorial
이, 즉 올바르지 않습니다. 시도 :
def factorial(x:Int): Int =
if (x == 0) 1
else x * factorial(x - 1)
코드의이 부분은 의미가 있습니다 (구문, 적어도) :
...
간다 무엇
def factorial(...): Int = factorial(3)
함수의 인수입니다. 당신은 x:Int
def factorial(x: Int, ...): Int = factorial(3)
으로 잘 떨어져 시작했다 그러나 그것은 종류의 factorial(x=>{if(x==0)1 else x*factorial(x-1)})
와 구문 레일 꺼집니다. 나는 그것이 실제로 함수의 인수가 아니라는 점을 제외하고는 무엇에 관해서 말할 것인지 정말로 모른다. 그것은 표현입니다. 이는 인수 목록이 아닌 함수 본문 (=
이후)에 넣는 것과 같습니다.