shell - “Shell 命令语言”文档 - “令牌识别”部分中的反直觉句子
问题描述
在本文档的第 2.3 节(“令牌识别”)中:https ://pubs.opengroup.org/onlinepubs/9699919799.2008edition/utilities/V3_chap02.html 出现以下句子:
“如果指示标记已分隔,并且标记中未包含任何字符,则应继续处理,直到实际标记被分隔”
这应该是什么意思?在包含任何字符之前,如何将标记标记为分隔符?
解决方案
这句话确实显得模棱两可。将其改写为“如果令牌为空,则继续处理,直到给出非空令牌为止。”
当一个记号的开始和结束已知时,它被“标记为定界”。所以从最后一个分隔符到新找到的分隔符。
如果有 2 个分隔符彼此相邻,则标记可以为空。
例如,假设分隔符是逗号。
fashl,gasdf,agasdf,aasdf,,ghask
在六个令牌中,第五个令牌是空的。它的开头和结尾由第四个和第五个逗号确定,因此它是“定界的”。但其中没有包含任何字符。
然而,这句话确实继续模棱两可。“处理将继续”没有指定空令牌会发生什么。或者更确切地说,它没有指定应该采取什么逻辑行动或路径。所以它可能意味着:
如果找到空标记,则继续读取直到下一个分隔符并认为该标记。
如果找到空令牌,则忽略该令牌并继续阅读。
尽管最终效果可能没有什么不同。
推荐阅读
- asp.net-core - 无法在 Aspnetuser 表中添加其他字段
- java - 替换片段时的动画问题,使用或不使用 addToBackStack
- masstransit - Masstransit - 用于响应消息的通用消费过滤器的一揽子注册?
- android - 选择要打开的应用时,使用深度链接启动的 Activity 已完成
- r - r - 使用 foreach 将多个文件下载到单独的子文件夹中 - setwd 出错
- php - 在laravel中返回视图时,with,compact和array有什么区别
- csv - H2O Driverless AI 是否内置支持合并多个数据集并使用合并的数据集进行训练?
- ios - Swift iOS 中的动态链接网页 URL 查询项为空
- html - CSS中的背景属性不起作用
- html - 如何使具有不同视图框的 SVG 大小相同?