4

K&R C Programming Language: pg. 105

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

entab -m +n

nつまり、タブは列から始まるすべての列を停止しますm

entabいくつかのスペースをタブ文字に置き換え、detabその逆を行います。私が持っている質問は、タブストップとentabです。detab次のタブストップに到達するために必要なスペースの数を決定するのは非常に簡単なので、心配する必要はありません。を使用entabすると、タブ文字がそれ自体のタブストップにどれだけ大きくなるかを確実に知ることができないため、スペースをタブに置き換えるのは少し難しくなります(確実に知る方法がない限り)。

私もこのことをきちんと考えていますか?

4

2 に答える 2

2

「タブストップは、列mから始まり、n列ごとに停止します」は、少なくとも私の読みでは、各タブストップの大きさを示しています。これはnだけです。最初のタブストップだけが異なります。それはmです。

于 2010-04-15T23:45:59.207 に答える
2

entabは、スペースの実行がタブストップに達したときに機能する必要があります。その場合、そのスペースの実行はタブ文字に置き換えることができます。

たとえば、次のテキスト行(ルーラーは参照用にあります):

           1   1   2   2   2
1      8   2   6   0   4   8
-------+---+---+---+---+---+
          this     is a line

後に次のようになりますentab -8 +4

\t  this \tis a line

(スペースまたはタブのいずれかがその特定のタブストップに到達するため、行の「this」の後に2つのタブ文字があることが合理的である可能性があることに注意してください)。

于 2010-04-16T00:10:29.820 に答える