2010-04-11 11 views
6

Ho letto un libro che utilizza infix, infixr e infixl nei programmi di esempio. Mi sto chiedendo quali sono le differenze. Immagino che infixr compia operazioni da destra a sinistra e viceversa.differenza tra infix, infixr, infixl

risposta

5

Sì, il r/l indica l'associatività. Senza test, suppongo che lo infix abbia un'associatività di sinistra normale.

2

infix definisce l'operatore da associare a sinistra, infixr definisce associare a destra. infixl non esiste.

0

Dipende dall'implementazione. Lo standard SML '97 è leggermente diverso da SML/NJ e Mlton. Si ottiene un comportamento leggermente diverso con ciascuno in termini di regole di associatività e il modo in cui le espressioni sono tra parentesi in base alla priorità (lo standard è un po 'più rigido rispetto alle implementazioni).