W F # poniższa instrukcja nie powiedzie się z następujących błędówDlaczego umieszczenie pierwszego wiersza wyrażenia w tym samym wierszu, co nie pozwala na kompilację?
let listx2 = [1..10]
|> List.map(fun x -> x * 2)
|> List.iter (fun x -> printf "%d " x)
Blok po to „niech” jest niedokończone. Spodziewaj się ekspresji.
Nieoczekiwany operator wiązań w wiązaniu. Oczekiwany niekompletny konstrukt konstrukcyjny w tym punkcie lub przed nim lub inny token.
Jednak dodaje skompiluje
let listx2 =
[1..10]
|> List.map(fun x -> x * 2)
|> List.iter (fun x -> printf "%d " x)
Zauważyłem również, że to kompiluje, ale ma ostrzeżenia
let listx2 = [1..10] |>
List.map(fun x -> x * 2) |>
List.iter (fun x -> printf "%d " x)
Możliwe nieprawidłowe wcięcie: ten znak jest na spalonym kontekstu rozpoczął na stanowisku (10:18). Spróbuj wgrać ten token dalej lub używając standardowych konwencji formatowania.
Jaka jest różnica między dwoma pierwszymi stwierdzeniami?
Dla eol '|>': Myślę, że linia, która kończy się z operator niejawnie kontynuuje w następnej linii, niezależnie od jego wcięcia. – Tarmil