J'ai besoin d'aide pour comprendre ce que l'exercice 5-12 demande dans le C Programming Language
-
27-09-2019 - |
Question
K&R C Programming Language: pg. 105
Étendre
entab
etdetab
à accepter le raccourci
entab -m +n
à onglet moyen arrête toutes les colonnes de
n
, à partir de la colonnem
.
entab
remplace plusieurs espaces avec un caractère de tabulation et detab
fait le contraire. La question concerne l'onglet arrêts et entab
. figure I que pour detab
il est assez facile de déterminer le nombre de places nécessaires pour atteindre l'onglet suivant arrêt, donc pas de soucis là-bas. Avec entab
, en remplacement des espaces avec des onglets est un peu plus difficile, car je ne peux pas savoir à coup sûr la taille du caractère de tabulation va à son propre onglet arrêt (à moins d'un moyen de savoir à coup sûr).
Suis-je même de penser à cette chose correctement?
La solution
onglet « arrête toutes les n colonnes, en commençant à la colonne m » vous indique la taille de chaque onglet arrêt est, au moins par ma lecture: il est juste n . Seul le premier onglet arrêt est différent; que l'on est m .
Autres conseils
besoins Entab de travailler quand pistes d'espaces atteignent un tabstop -. Puis cette course des espaces peut être remplacé par un caractère de tabulation
Par exemple, la ligne de texte suivant (le ruller est là pour référence):
1 1 2 2 2
1 8 2 6 0 4 8
-------+---+---+---+---+---+
this is a line
devrait ressembler à ce qui suit après entab -8 +4
:
\t this \tis a line
(note qu'il pourrait être raisonnable pour qu'il y ait deux caractères de tabulation suivants « ceci » dans la ligne, depuis un espace ou un onglet atteindraient cet onglet arrêt).