4

K&R C Programming Language: pg. 105

扩展entabdetab接受简写

entab -m +n

表示制表符停止每一n列,从 column 开始m

entab用制表符替换多个空格,detab反之亦然。我的问题涉及制表位和entab. 我认为detab这很容易确定到达下一个制表位所需的空格数,所以不用担心。使用entab, 用制表符替换空格会稍微困难一些,因为我无法确定制表符到它自己的制表位有多大(除非有办法确定)。

我什至在正确地考虑这件事吗?

4

2 回答 2

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”后面有两个制表符可能是合理的,因为空格或制表符都会到达该特定的制表位)。

于 2010-04-16T00:10:29.820 回答
2

“制表位每 n 列停止,从 m 列开始”告诉您每个制表位有多大,至少根据我的阅读:它只是n。只有第一个制表位不同;那个是m

于 2010-04-15T23:45:59.207 回答