이 두 동일합니다F # : 함수를 정의하는 두 가지 방법은 무엇입니까?
let f(x) =
10
let g = fun(x) ->
10
생각? 그들은 똑같은 일을하는 것처럼 보이지만 두 가지 행동이 다를 수있는 경우가 있습니까? 두 번째 버전은 <|
및 <<
연산자를 사용하여 파이썬 스타일 데코레이터 패턴을 구현할 수 있기 때문에 유용합니다 (더 자세한 경우에도 마찬가지입니다). 어떤 경우에 에 첫 번째 버전을 사용하고 있습니까?
또한 두 번째 방법이 어떻게 작동하는지 완전히 이해합니다. (오른쪽의 내용은 g로 덤프하는 함수 표현이지만) 첫 번째 방법은 어떤가? 해당 구문을 간단한 대입 문에서 함수 정의로 변환하는 컴파일러 트릭이나 특수한 경우가 있습니까?
f <| // 첫 번째 버전이기도합니다. – BLUEPIXY