代码之家  ›  专栏  ›  技术社区  ›  Rob Wells

makefile空白语法背后的原因是什么?

  •  19
  • Rob Wells  · 技术社区  · 15 年前

    我正在重温巨蟒,迈克尔·斯帕克斯(MichaelSparks)在伦敦的so-devday上出色地完成了彼得·诺维格(PeterNorvig)的巨蟒拼写检查。

    他强调的一点是,Python看起来多么干净。不是混乱的范围大括号,而是使用空白来指示块范围。

    这让我思考。我想知道这是否是构建make目标所需命令的标签缩进背后的原因。

    这是同一个清晰的方面吗?是否容易区分目标和构建目标所需的命令?

    2 回复  |  直到 6 年前
        1
  •  47
  •   PP.    15 年前

    从“Unix编程的艺术”引述如下:

    为什么选择第1列中的选项卡?雅克是新的,雷克斯是新的。我也没试过,所以我觉得这是一个学习的好借口。在我第一次尝试莱克斯的时候,我陷入了困境,我只是对模式换行标签做了一些简单的事情。它起作用了,它留下来了。几周后,我有十几个用户,其中大多数是朋友,我不想搞砸我的嵌入式基础。遗憾的是,其余的都是历史。
    --斯图尔特·费尔德曼
        2
  •  3
  •   Ned Batchelder    15 年前

    我认为makefiles犯了一个错误,即坚持只使用一个制表符进行缩进。允许空间有什么坏处?没有精度损失,因为shell命令无论如何都不能有效地从空格开始,而且目标行和命令行之间也没有混淆。