I understand white space matters in q code. Where does it matter?
Tuesday, March 8, 2011 at 11:00PM - The first character before a '/' that begins a comment must be whitespace (newline is OK).
- Every line after the first in a multiline expressions must be indented.
The latter rule applies, for example, to functions. The following is not valid q:
f: {[x]
x}
Even a function's closing brace must be indented if it appears on a line by itself:
f: {[x]
x
}
Function definition is not the only time you have to be careful to follow this rule, however. In the following example, g is not the list (47; 48); rather, g is a projection of the comma operator with its first argument set to 47:
g: 47,
48

Reader Comments (1)
here's another (obscure) place where white space matters:
q)f:{[x] -1"x is ",string x;} /you need the space between the ] and the -
q)f12
x is 12
q)f:{[x]-1"x is ",string x;} /this will fail
'-
q)