Quelle est la différence entre des chaînes entre guillemets simples et doubles?
Existe-t-il un moyen d'obtenir une variable développée à l'intérieur d'une chaîne, ou faut-il toujours les joindre comme: 'Hello, ' . s:name . '!'
la source
Quelle est la différence entre des chaînes entre guillemets simples et doubles?
Existe-t-il un moyen d'obtenir une variable développée à l'intérieur d'une chaîne, ou faut-il toujours les joindre comme: 'Hello, ' . s:name . '!'
La seule différence entre une chaîne entre guillemets simples et doubles est liée à la barre oblique inverse. Pour afficher des caractères spéciaux comme la nouvelle ligne, les cloches, les tabulations, etc., vous devez utiliser des guillemets doubles -> "\n"
.
Dans une chaîne entre guillemets simples, '\'
est lui-même => '\n'
est une chaîne de deux caractères (une barre oblique inverse + n
). Dans les guillemets doubles, vous devez le doubler -> "\\"
, ce qui les rend peu pratiques pour définir les expressions rationnelles.
En ce qui concerne l'expansion des chaînes, vous avez plusieurs choix:
'Hello, ' . s:name . '!'
join(['Hello, ', s:name, '!'], '')
- que nous n'utilisons jamaisprintf('Hello %s!', s:name)
lh#fmt#printf('Hello %1!', s:name)
- depuis lh-vim-lib, quand nous ne voulons pas connaître les types, et quand nous n'avons pas besoin de formater les champs, mais quand nous voulons utiliser des formats comme: 'Hello %1. How are you doing %1 this %2
'.
'
intérieur d'une chaîne entre guillemets simples?'foo''bar'
, ou utilisez les deux types de citations:'foo'."'".'bar'