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 (
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.
|APL syntax |
|Overview||Comparison with traditional mathematics ∙ Precedence|
|Array||Numeric literal ∙ String ∙ Strand notation ∙ Object literal ∙ Array notation|
|Function||Argument ∙ Function valence ∙ Derived function ∙ Function train ∙ Monadic function ∙ Dyadic function ∙ Ambivalent function|
|Operator||Operand ∙ Operator valence ∙ Derived function ∙ Derived operator|
|Assignment||Multiple ∙ Indexed ∙ Selective ∙ Modified|
|User definition||Tradfn ∙ Dfn ∙ Tacit|
|Other||Function axis ∙ Branching ∙ System command ∙ User command ∙ Keyword ∙ Dot notation|