Ce n'Ruby printf arguments veux dire?
Quelqu'un peut s'il vous plaît aidez-moi à comprendre l'expression suivante?
printf("%3d - %s\n", counter, name)
Que la ligne imprime quelque chose comme ceci 6 - Install Adobe software
J'ai cherché de l'information et de lire la référence, mais je ne peux pas trouver une réponse simple et je suis un peu confus. Si vous pouvez me référer à une bonne référence, veuillez le faire.
%3d
Ok, d'après ce que j'ai pu comprendre, %3d
est le nombre de caractères ou des espaces. Merci de m'indiquer une référence qui l'explique.
%s\n
Je ne pouvais pas comprendre ce qu'il fait. Je suppose que \n
est un retour à la ligne ou quelque chose de similaire, mais en y regardant de la sortie, il ne semble pas fonctionner comme ça.
Pourquoi counter
et name
variables séparées par des virgules?
En regardant la sortie est semble que %3d
est une sorte d'remplacé par counter
et %s\n
est remplacé par name
. Je ne suis pas sûr de savoir comment il fonctionne, mais je voudrais comprendre.
comme vous pouvez le voir, tout le monde ne vient de C. Il n'est jamais mentionné comme une condition préalable pour apprendre Ruby. Il n'y a pas de "C" tag sur la question. par conséquent, les commentaires ne sont pas pertinents.
OriginalL'auteur leonel | 2013-01-24
Vous devez vous connecter pour publier un commentaire.
Pour la syntaxe de regarder n'importe quel printf docs, mais de vérifier la sprintf docs sur ruby-doc.
Ils sont séparés par des virgules, parce qu'ils sont des paramètres à la fonction, mais c'est plus ou moins de sucre syntaxique. Pensez varargs.
Pas sûr de ce que tu veux dire avec le
%s\n
chose, c'est une chaîne, puis un retour à la ligne: c'est ce qu'il produit.Si votre question est plus précisément "comment le code de transformer une chaîne de mise en forme et d'un groupe d'arguments en sortie", je serais probablement à la recherche de la source, par exemple, un minuscule intégré printf. Mot version, c'est que la chaîne de format est recherché pour les options de mise en forme, qu'ils consomment leurs paramètres associés, de sortie pour conséquence d'une chaîne au format. C'est un tout petit peu DSL.
OriginalL'auteur Dave Newton