Was ist der Unterschied zwischen Strings in einfachen und doppelten Anführungszeichen?
Gibt es eine Möglichkeit, eine Variable innerhalb eines Strings zu erweitern, oder müssen sie immer wie folgt verbunden werden: 'Hello, ' . s:name . '!'
quelle
Was ist der Unterschied zwischen Strings in einfachen und doppelten Anführungszeichen?
Gibt es eine Möglichkeit, eine Variable innerhalb eines Strings zu erweitern, oder müssen sie immer wie folgt verbunden werden: 'Hello, ' . s:name . '!'
Der einzige Unterschied zwischen Zeichenfolgen in einfachen und doppelten Anführungszeichen besteht im Zusammenhang mit Backslash. Um anzuzeigen Sonderzeichen wie Newline, Glocken, Tabulatoren, etc, müssen Sie doppelte Anführungszeichen verwenden -> "\n"
.
In einer Zeichenfolge in Anführungszeichen '\'
ist selbst => '\n'
eine Zeichenfolge mit zwei Zeichen (ein Backslash + n
). Innerhalb von doppelten Anführungszeichen müssen Sie es verdoppeln -> "\\"
, was es unpraktisch macht, reguläre Ausdrücke zu definieren.
In Bezug auf die String-Erweiterung haben Sie einige Möglichkeiten:
'Hello, ' . s:name . '!'
join(['Hello, ', s:name, '!'], '')
- was wir nie benutzenprintf('Hello %s!', s:name)
lh#fmt#printf('Hello %1!', s:name)
- von lh-vim-lib, wenn wir nichts über Typen wissen wollen und wenn wir keine Felder formatieren müssen, aber wenn wir Formate verwenden wollen wie: 'Hello %1. How are you doing %1 this %2
'.
'
einen String in Anführungszeichen zu setzen?'foo''bar'
oder verwenden Sie beide Arten von Anführungszeichen:'foo'."'".'bar'