私はCプログラミング言語の本で運動5-12が求めていることを理解するのに役立ちます
-
27-09-2019 - |
質問
K&R C Programming Language: pg. 105
拡張する
entab
とdetab
速記を受け入れる
entab -m +n
TABがすべてを停止することを意味します
n
列から始まる列m
.
entab
いくつかのスペースをタブ文字に置き換え、 detab
反対のことはあります。私が抱えている質問は、タブが停止することに関するものです entab
. 。私はそれを考えています detab
次のタブストップに到達するために必要なスペースの数を判断するのは非常に簡単です。そのため、心配はありません。と entab
, 、スペースをタブに置き換えることは、タブ文字が自分のタブストップにどれだけ大きくなるかを確実に知ることができないため、わずかに困難です(確かに知る方法がない限り)。
私もこのことを適切に考えていますか?
解決
「タブはすべてのn列を停止し、列mから始まります」は、少なくとも私の読書によって、各タブの停止がどれだけ大きいかを教えてくれます。 n. 。最初のタブストップのみが異なります。それはです m.
他のヒント
Entabは、スペースの走りがタブストップに到達したときに解決する必要があります。その場合、そのスペースの実行はタブ文字に置き換えることができます。
たとえば、次のテキスト行(Rullerは参照のためにあります):
1 1 2 2 2
1 8 2 6 0 4 8
-------+---+---+---+---+---+
this is a line
その後、次のように見えるはずです entab -8 +4
:
\t this \tis a line
(スペースまたはタブがその特定のタブ停止に到達するため、行に「これ」に続く2つのタブ文字があることは合理的かもしれません)。
所属していません StackOverflow