Question

J'ai utilisé une barre oblique inverse pour continuer une instruction Ruby sur la ligne suivante.

print abc \
+ def

J'ai ajouté un espace après la barre oblique inverse, parce que j'aime faire sauter les choses, et, bien sûr, je suis une erreur:

$ inattendu non défini, attendre $ fin

Je suppose Undefined $ est une variable globale qui signifie tout ce que le compilateur voit qu'il ne reconnaît pas -. Dans ce cas, l'espace après la barre oblique inverse

est fin $ une variable globale qui fait référence au caractère « fin de ligne »?

sont ces GLOBALS mondial juste dans mon programme ou sont-ils plus global que cela? Comment ils sont global?

Était-ce utile?

La solution

Ce ne sont pas des variables globales. C'est juste notation utilisée par l'analyseur. $undefined semble signifier un espace vide ou un jeton sans signification. $end est la fin d'une ligne ou une déclaration.

Autres conseils

Je parie que le $ est juste un raccourci que l'analyseur / lexer utilise pour symboliser un jeton, et non une variable réelle utilisable.

$ non défini fait référence au jeton lexer créé par « \ » -. Il n'est pas syntaxiquement rubis valide

$ end jeton lexer pour la fin du fichier.

- MarkusQ

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top