String

From APL Wiki
Jump to navigation Jump to search
'abc'

In APL, a string is a vector of characters. Strings are written using single quotes, for example 'string'.

A single character in quotes, such as 'a', creates a scalar character rather than a string. To create a singleton string the ravel function is typically used, as in ,'a'. Ravelling a quoted literal always produces a string. This consideration only applies to exactly one character (or two quotes representing a single character, as described in the next paragraph); quotes with no characters between them ('') form an empty string.

APL's string notation is very simple and includes only one escape: two adjacent single quotes within a string stand for one single quote character rather than ending the string and starting a new one. To strand strings together, put spaces between them. A newline character within a string produces an error. To produce newlines or other non-printing characters which would be inconvenient to include in the source, use an alternative character creation mechanism, such as Unicode Convert (⎕UCS).

Some users of nested APLs have proposed a dedicated string datatype to allow strings to be manipulated as a single entity, and in particular, to allow them to be compared with scalar functions. In flat APLs these problems are not felt so strongly because boxed arrays behave more like a simple datatype.

External links

APL syntax [edit]
Overview Comparison with traditional mathematicsPrecedence
Array Numeric literalStringStrand notationObject literalArray notation
Function ArgumentFunction valenceDerived functionFunction trainMonadic functionDyadic functionAmbivalent function
Operator OperandOperator valenceDerived functionDerived operator
Assignment MultipleIndexedSelectiveModified
User definition TradfnDfnTacit
Other Function axisBranchingSystem commandUser commandKeywordDot notation