Teknik Informatika    
   
Daftar Isi
(Sebelumnya) Comparison of programming lang ...Comparison of programming lang ... (Berikutnya)

Perbandingan -- programming languages (strings)

Contents

Concatenation

Different languages use different symbols for the concatenation operator. Many languages use the "+" symbol, though several deviate from this.

Common variants

OperatorLanguages
+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
nconcCommon 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 literals

This section compares styles for declaring a string literal.

Quoted raw

SyntaxLanguage(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 interpolated

SyntaxLanguage(s)
"Hello, $name!"PHP, Perl, Windows PowerShell
"Hello, #{name}!"Ruby
(format t "Hello, ~A" name)Common Lisp

Escaped quotes

SyntaxLanguage(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 quoting

SyntaxLanguage(s)
"I said ""Hello, world!"""Ada, ALGOL 68, Excel, Fortran, Visual Basic, FreeBASIC, COBOL
'I said ''Hello, world!'''Fortran, rc

Multiple quoting

SyntaxLanguage(s)
qq(I said "Hello, world!")Perl
 %Q(I said "Hello, world!")
 %(I said "Hello, world!")
Ruby
{I said "Hello, world!"}REBOL

Here document

SyntaxLanguage(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 variants

SyntaxVariant nameLanguage(s)
′I said ′′Hello, world!′′.′Double quotingSmalltalk
'I said ''Hello, world!''.'
Double quotingPascal, Object Pascal, SQL standard
"""Hello, world!"""Triple quotingPython
13HHello, world!Hollerith notationFortran 66
(indented with whitespace)Indented with whitespace and newlinesYAML
(Sebelumnya) Comparison of programming lang ...Comparison of programming lang ... (Berikutnya)