2013-08-02 4 views

Odpowiedz

16

wielowierszowe wyrażenia w składni celu musi być wcięty poza nazwą zmiennej:

main = do 
    let foo = case 0 of 
     0 -> 4 
    return() 

jest ok, ale

main = do 
    let foo = case 0 of 
     0 -> 4 
    return() 

nie jest.

+2

Aby dodać, powodem jest to, że 'let' przyjmuje blok (np.' Do') z wieloma powiązaniami - jeśli wolisz nierównomierny styl wcięcia, możesz przerwać linię po 'let' jako byłoby z 'do'. –

+1

Ten nieustannie mnie gryzie. Można się spodziewać wcięcia za słowem "let", ale w rzeczywistości jest to wcięcie za nazwą zmiennej. Umieszczenie zmiennej na własnej linii działa, ale wygląda dość brzydko. – MathematicalOrchid

+2

To jest naprawdę trudne do zobaczenia. Różnica między tymi dwoma przykładami to spacja na początku linii "0 -> 4". – greg7gkb

Powiązane problemy