If x is a string, then i must be an integer, and x#i is the i-th character in the string, presented as a string of length one, or if i is out of range, a string of length zero is returned. If i is negative, then the i-th character from the end is provided.
Assignment to x#i can change the value if x is mutable.
The precedence of # when used as a binary operator is high, as high as ., but the precedence when used as a unary operator lower, as low as adjacency or function application.
i1 : x = new MutableHashTable |
i2 : x#i = p |
i3 : x#i |