私はCプログラミング言語の本で運動5-12が求めていることを理解するのに役立ちます

StackOverflow https://stackoverflow.com/questions/2649701

質問

K&R C Programming Language: pg. 105

拡張する entabdetab 速記を受け入れる

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つのタブ文字があることは合理的かもしれません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top