2011-04-28 4 views
0

let passFive f = (f 5)브라켓 사이

let passFive f = f 5

은 무엇입니까 차이 (passFive F = (F 5)하자)?

나는 그들이 모두 다음과 같다 발견

val passFive : (int -> 'a) -> 'a

+0

차이점은 무엇이라고 생각하십니까? – Gabe

+1

공정한 질문이 없습니까? 알 수없는 언어와 컴파일 된 코드의 두 가지 발췌 부분이 있기 때문에 차이가 있는지 물어 보는 것이 합리적입니다. – DuckMaestro

+0

@ 게이브 : Lisp과의 이전의 만남? ;-) – petebu

답변

2

그들은 모두 같은과 함께 그룹에 피연산자를 원하고 자신의 우선 순위를 증가 여기에 다른 곳처럼 사용된다 브래킷 (괄호)입니다.

printfn "%A" myfunc 5 

이 오류를 발생시킵니다.

printfn "%A" (myfunc 5) 

작성 방법입니다.

+0

다른 곳에서는 ** F ** ** ... – Benjol

+0

@ Benjol : 90 %의 언어로 그 밖에도 마찬가지입니다. – delnan

+0

@delnan, ok, take taken. 내가 생각한 것은 F # 대괄호에서 우선 순위에 사용되는 * 반면에 다른 곳에서는 메서드/함수에 대한 인수를 '패키지화'하는 데 사용된다는 사실입니다. 때때로 사람들을 위로 이동시킵니다. – Benjol