Dans cette vidéo , le conférencier dit:
"Certaines personnes ne savent pas comment fonctionnent les virgules. Elles pensent qu'elles devraient être des délimiteurs plutôt que des séparateurs. Maintenant, vous pouvez penser à elles de toute façon."
Je ne comprends pas la différence entre un délimiteur et un séparateur (s'il y en a un). L'implication dans la vidéo est que maintenant (que les virgules de fin sont valides), on peut les considérer comme des délimiteurs, plutôt que des séparateurs ...
Btw la langue en question est JavaScript. D'après ma compréhension, le jeton virgule a deux significations:
- en tant qu'opérateur (rarement utilisé)
- comme séparateur (dans les listes d'arguments et de paramètres, les littéraux de tableaux et d'objets, etc.)
Je ne sais pas comment un délimiteur de virgule s'inscrit dans ce ...
javascript
Šime Vidas
la source
la source
:)
:)
Réponses:
Si vous considérez la virgule comme un séparateur, vous utilisez une virgule entre deux éléments d'une séquence pour les séparer, si vous la considérez comme un délimiteur, vous la placez après chaque élément pour indiquer où se termine un élément. Voir les exemples ci-dessous:
Virgule comme séparateur
La virgule comme délimiteur
Je pense que la vidéo dit que vous pouvez considérer les virgules à la fois comme séparateurs et délimiteurs car les deux exemples de tableaux ci-dessus sont valides. En revanche, en Javascript, vous ne pouvez utiliser la virgule comme séparateur que dans la liste des paramètres d'une fonction, par exemple
est valide alors que
n'est pas valide.
ÉDITER
D'après ce que je comprends, selon la page wikipedia, un séparateur est un cas particulier de délimiteur , à savoir celui qui est placé entre les différentes régions de texte dont les limites doivent être marquées. En fait, la page wikipedia nomme les valeurs séparées par des virgules comme exemple d'utilisation de délimiteurs. Ainsi, en général, vous pouvez utiliser des délimiteurs de différentes manières: avant, après, des deux côtés de la partie du texte à marquer.
La raison pour laquelle j'ai interprété le délimiteur comme "marqueur placé après un élément" dans le contexte Javascript était motivée par l'exemple littéral du tableau, qui est également valable pour C, C ++ et Java (je pense avoir vu au moins une question sur débordement de pile concernant ce sujet).
Un autre exemple d'utilisation similaire mais différente d'un caractère est celui du point-virgule comme délimiteur d'instructions (C, C ++, Java, Ada, ...) et comme séparateur d'instructions (Pascal). Donc
est le bon code C alors que
n'est pas un code Pascal correct.
Peut-être que terminateur serait un terme meilleur / moins ambigu que délimiteur ? Par exemple, on pourrait formuler la citation comme suit: "Certaines personnes se trompent sur le fonctionnement des virgules. Ils pensent qu'ils devraient être des terminateurs d'élément plutôt que des séparateurs d'élément . Maintenant (dans de nombreux cas), vous pouvez penser à eux de toute façon."
la source
Un séparateur serait placé entre deux valeurs, les séparant.
Un délimiteur délimiterait un champ - ce serait des deux côtés.
Pris de cette façon, cela fait peu de différence, tant que l'on peut extraire les champs séparés.
Il s'agit d'un problème complètement différent de celui de l'utilisation d'une virgule dans un langage de programmation tel que javascript. Il s'agit de délimiter / séparer des valeurs dans une chaîne.
la source
var myNumbers = ['one','two','three', ];
(virgule à la fin) donnerait une longueur de tableau de 3 mais à cause d'une virgule à l'avantvar myNumbers = [,'one','two','three'];
donne une longueur de 4.