2011-05-15 2 views

답변

5

뭔가를 놓치지 않는 한, 두 연산자 (다른 중위 연산자뿐만 아니라)도 똑같이 작동합니다. barbaz을 정의하고 예제를 사용하면 두 경우 모두 오류가 발생합니다. F 번호의 오프 사이드 규칙은 왼쪽에서 적은 지금까지 운영자를 들여 할 수 있지만, 인수의 열이 일치해야합니다 :

let foo1 = bar 
    |> baz 

let foo2 = baz 
    <| bar 
:

let bar = 1 
let baz x = x + 1 

let foo1 = bar 
     |> baz 

let foo2 = baz 
     <| bar 

는이 두 오류 메시지 제공

(F # 컴파일러는 구문 오류가 발생하여 추가 오류를보고하지 않기 때문에 첫 번째 오류 만 표시 될 수 있습니다.) -

이 규칙은 MSDN의 Code Formatting Guidelines에 설명되어 있습니다. 다음의 두 작동했기 때문에

+0

해당 링크를 북마크했습니다. 감사합니다. –

0

나는 들여 쓰기 오류를 잡을하지 않았다

match r.IsDBNull index with 
| true -> None 
| _ -> r.GetValue index 
    :?> 'a 
    |> Some 

let param p = 
    db.CreateParameter p 
    |> cmd.Parameters.Add 
    |> ignore 

을 한번 탭을 공격 만했다하더라도. 그래서 내 오해가 공백없이 너무 오래로하지 않았다이었다

let foo2 = proc "getfoo2" 
     <| [ "x",Int32,In; 
       "y",String(15),In ] 

let foo2 = 
    proc "getfoo2" 
    <| [ "x",Int32,In; 
     "y",String(15),In ] 

: 아직 예전에 여기에 탭을 공격하고, 제대로 들여 쓰기되지 않은 :

let foo2 = proc "getfoo2" 
    <| [ "x",Int32,In; 
     "y",String(15),In ] 

이 두 중 하나를 있었어야 이전의 줄보다 더 들여 쓰기가되었습니다. 그렇지 않다.