Concatenation
Different languages use different symbols for the concatenation operator. Most languages use the "+" symbol, though several deviate from this norm.
Common variants
Operator | Languages |
---|---|
+ | BASIC, C++, C#, Pascal, Delphi, JavaScript, Java, Python,Turing, Ruby, Windows PowerShell |
++ | Haskell |
& | Ada, AppleScript, Curl, VHDL, Visual Basic, Excel |
. | Perl (before version 6), PHP, and Maple (up to version 5), Autohotkey |
~ | Perl 6 and D |
|| | Icon, Standard SQL, PL/I, Rexx, and Maple (from version 6) |
<> | Mathematica |
.. | Lua |
, | J programming language |
^ | OCaml, Standard ML |
// | Fortran |
Unique variants
- Awk uses the empty string: two expressions adjacent to each other are concatenated. This is called Juxtaposition. Unix shells have a similar syntax. Rexx uses this syntax for concatenation including an intervening space.
- C allows juxtaposition for string literals, however, for strings stored as character arrays, the
strcat
function must be used. - MATLAB and Octave use the syntax "[x y]" to concatenate x and y.
- Visual Basic Versions 1 to 6 can also use the "+" sign but, this leads to ambiguity if a string representing a number and a number is added together.
- Microsoft Excel allows both "&" and the function "=CONCATENATE(X,Y)".
String literals
This section compares styles for declaring a string literal.
Quoted raw
@"Hello, world!" ;; C# r"Hello, world!" ;; Python 'Hello, world!' ;; Perl, Windows PowerShell <![CDATA[Hello, world!]]> ;; XML (CDATA section)
Quoted interpolated
"Hello, $name!" ;; Perl "Hello, #{name}!" ;; Ruby
This section needs expansion. You can help by adding to it. (June 2008) |
Dual quoting
This section needs expansion. You can help by adding to it. (June 2008) |
Multiple quoting
qq(I said "Hello, world!") ;; Perl
This section needs expansion. You can help by adding to it. (June 2008) |
Unique quoting variants
"""Hello, world!""" ;; Triple quoting ;; Python 13HHello, world! ;; Hollerith notation ;; FORTRAN (indented with whitespace) ;; Indented with whitespace and newlines ;; YAML