I’m sure the following table is missing a few items but am unclear what they are. For starters these <>, <>=, >>>, , !<>, !<>= belong on the table but I’m not sure where. I am also not sure if these ..., @, # belong there at all. There might be other errors or missing operators. Request assist to complete correctly.
Operator Precedence and Associativity Rules in D ——————————————————————————————————————————————————————————————————— ! template instantiation ——————————————————————————————————————————————————————————————————— => lambda right-to-left ——————————————————————————————————————————————————————————————————— () function call left-to-right [] array element . member selection ++ post increment right-to-left -- post decrement ——————————————————————————————————————————————————————————————————— ! logical not right-to-left ~ bitwise complement - unary minus ++ pre increment -- pre decrement * contents of (dereference) new ref in !in out inout cast() is !is ——————————————————————————————————————————————————————————————————— ^^ power left-to-right * multiply / divide % remainder ——————————————————————————————————————————————————————————————————— + add left-to-right - subtract ——————————————————————————————————————————————————————————————————— << bitwise left shift left-to-right >> bitwise right shift ——————————————————————————————————————————————————————————————————— < arithmetic less than left-to-right !>= arithmetic not greater than or equal to > arithmetic greater than !<= arithmetic not less than or equal to <= arithmetic less than or equal to !> arithmetic not greater than >= arithmetic greater than or equal to !< arithmetic not less than ——————————————————————————————————————————————————————————————————— == arithmetic equal left-to-right != arithmetic not equal ——————————————————————————————————————————————————————————————————— & bitwise and left-to-right ——————————————————————————————————————————————————————————————————— ^ bitwise exclusive or left-to-right ——————————————————————————————————————————————————————————————————— | bitwise or left-to-right ——————————————————————————————————————————————————————————————————— && logical and left-to-right ——————————————————————————————————————————————————————————————————— || logical or left-to-right ——————————————————————————————————————————————————————————————————— ? : conditional expression right-to-left ——————————————————————————————————————————————————————————————————— = assignment operator right-to-left also += -= *= /= %= <<= >>= &= ^= |= ~= ^^= >>>= ——————————————————————————————————————————————————————————————————— => lambda left-to-right ——————————————————————————————————————————————————————————————————— , sequential expression left-to-right ——————————————————————————————————————————————————————————————————— .. range separator ——————————————————————————————————————————————————————————————————— -- Andrew Edwards -------------------- http://www.akeron.co auto getAddress() { string location = "@", period = "."; return ("info" ~ location ~ "afidem" ~ period ~ "org"); }