Perchè FSharpLint suggerisce, "Nel codice F #, usa 'e1 || e2 'invece di' e1 o e2 '"

8

Se scrivo l'espressione,

if not (expr1 or expr2) then value

Ricevo il seguente avviso da FSharpLint, In F# code, use 'e1 || e2' instead of 'e1 or e2' .

Perché si sta utilizzando || preferito rispetto all'utilizzo di or ? Voglio scrivere un codice idiomatico, ma questo mi sembra di degradare la leggibilità. Mi piace molto la leggibilità della funzione not rispetto a ! . l'espressione di esempio sopra legge più bella ed è molto più dichiarativa della controparte C #,

if (!(expr1 || expr2)) { return value; }

Quindi perché regredire il miglioramento della leggibilità suggerendo doppi tubi invece di or ?

    
posta pluralMonad 20.04.2016 - 20:42
fonte

1 risposta

6

Secondo la gente di FSharpLint , non è un avviso di Lint; è un avviso emesso dal compilatore F # .

Probabilmente è lì perché or non ha una controparte and corrispondente. Esiste una parola chiave and , ma non è usata per le operazioni booleane, quindi devi comunque usare && , il che significa che è meglio usare || per consistenza.

    
risposta data 21.04.2016 - 16:56
fonte

Leggi altre domande sui tag