gpt4 book ai didi

linux - 为什么 'until'存在?

转载 作者:IT王子 更新时间:2023-10-29 00:18:11 26 4
gpt4 key购买 nike

命令 until 被执行到 bash/shell 中有什么原因吗(我仍然不确定是哪个)?对于 while 语句的否定,有什么是你不能做的吗?它比使用 NOT CPU 函数更快吗? - 不太可能......

最佳答案

Bash 支持它,因为它符合 POSIX - 具体来说,IEEE Std 1003.1, 2004 Edition - Shell Command Language - The until Loop .该功能早于 GNU,GNU bash 存储库拥有它 since the 1st commit 21 年前。

As Guillaume also explains in another answer该功能背后的基本原理是(误入歧途的)可读性。他们试图对此处的事物进行微观管理,因为shell 语言最初是针对最终用户而不是专业程序员(例如基本和 SQL)。

然而,这种冗余语法以相同的代码复杂度做完全相同的事情被证明比它的值(value)更麻烦:通过提供两个,而不是一个,标准形式,它实际上损害了可读性而不是提高了可读性,并引入了不必要的决策来制作1。这就是为什么它只出现在当时设计的几种语言中,并且同样旨在“接近自然语言”——比如 Perl 和 Visual Basic。

如今,这种方法已经演变成 syntax sugar概念2:只有在通过替换经常使用的整个样板结构显着简化代码时,才会引入冗余结构。 C# 就是一个很好的例子。


1“这里用哪个?当我改变条件时改变它还是不改变它?我为什么要关心?”根据我的经验,Pascal 过程与函数是一样的:我记得在设计代码时必须多次在这两者之间切换子例程。它只是将多余的工作强加给程序员,从而浪费他们的时间。

2我在这里缩小了术语的范围,因为我是从语言设计者的角度表达的。它更像是“现在被认为是好的语法糖”。由于从语言设计者的角度来看,任何其他 SS 实际上都不存在。

关于linux - 为什么 'until'存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43317997/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com