| Perbandingan -- programming languages (strings) ConcatenationDifferent languages use different symbols for the concatenation operator. Many languages use the "+" symbol, though several deviate from this. Common variantsOperator | Languages |
---|
+ | ALGOL 68, BASIC, C++, C#, Pascal, Object Pascal, Eiffel, Go, JavaScript, Java, Python, Turing, Ruby, Windows PowerShell, Objective-C, F# | ++ | Haskell, Erlang | $+ | mIRC Scripting Language | & | Ada, AppleScript, Curl, Seed7, VHDL, Visual Basic, Excel, FreeBASIC | nconc | Common Lisp | . | 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, Smalltalk | ^ | OCaml, Standard ML, F#, rc | // | 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 literalsThis section compares styles for declaring a string literal. Quoted rawSyntax | Language(s) |
---|
@"Hello, world!" | C#, F# | "Hello, world!" | Java, JavaScript, FreeBASIC | r"Hello, world!" | Python | 'Hello, world!' | Pascal, Object Pascal, PHP, Perl, Windows PowerShell, JavaScript | `Hello, world!` | Go, Smalltalk |
Quoted interpolatedSyntax | Language(s) |
---|
"Hello, $name!" | PHP, Perl, Windows PowerShell | "Hello, #{name}!" | Ruby | (format t "Hello, ~A" name) | Common Lisp |
Escaped quotesSyntax | Language(s) |
---|
"I said "Hello, world!"" | C, C++, C#, F#, Java, Ocaml, Python, JavaScript, Mathematica | "I said `"Hello, world!`"" | Windows Powershell | "I said ^"Hello, world!^"" | REBOL | "I said, %"Hello, World!%"" | Eiffel | !"I said "Hello, world!"" | FreeBASIC |
Dual quotingSyntax | Language(s) |
---|
"I said ""Hello, world!""" | Ada, ALGOL 68, Excel, Fortran, Visual Basic, FreeBASIC, COBOL | 'I said ''Hello, world!''' | Fortran, rc |
Multiple quotingSyntax | Language(s) |
---|
qq(I said "Hello, world!") | Perl | %Q(I said "Hello, world!") %(I said "Hello, world!") | Ruby | {I said "Hello, world!"} | REBOL |
Here documentSyntax | Language(s) |
---|
<<EOF I have a lot of things to say and so little time to say them EOF | Perl, PHP, Ruby | @" I have a lot of things to say and so little time to say them "@ | Windows Powershell | "[ I have a lot of things to say and so little time to say them ]" | Eiffel | """ I have a lot of things to say and so little time to say them """ | CoffeeScript |
Unique quoting variantsSyntax | Variant name | Language(s) |
---|
′I said ′′Hello, world!′′.′ | Double quoting | Smalltalk | 'I said ''Hello, world!''.' | Double quoting | Pascal, Object Pascal, SQL standard | """Hello, world!""" | Triple quoting | Python | 13HHello, world! | Hollerith notation | Fortran 66 | (indented with whitespace) | Indented with whitespace and newlines | YAML |
|
| |