String

From APL Wiki
Revision as of 13:17, 30 October 2019 by Miraheze>Marshall (Created page with "In APL, a '''string''' is a vector of characters. Strings are written using single quotes, for example <source lang=apl inline>'string'</source>. A single character i...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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 ⎕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.