豫言源码浏览器 / Source Browser

浏览项目文件与源码

yuyan · 135 行 · 7581 字节 · UTF-8
§
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「特殊字符」之书。

「:文言:此篇纯函数,供自动模式诸篇所共,不涉磁盘与子进程。汉语:文本与列表的小工具:按字节排序、去重、路径末段等,全部是纯函数,便于原生单元测试。:」

「:文言:按 UTF-8 字节次序较二串,毋随目录先后。汉语:判断甲串在第「序」字节起是否按字节序先于乙串;相等返回阴。:」
「串字节先于序」乃化「字符串」而化「字符串」而化「整数」而「爻」也。
「串字节先于序」者会「甲」而会「乙」而会「序」而
  若「等于」于「序」于(「字节长度」于「甲」)
  则
    「小于」于「序」于(「字节长度」于「乙」)
  否则若「等于」于「序」于(「字节长度」于「乙」)
  则
    「阴」
  否则
    虑「甲字」者「字符转整数」于「甲」于「序」而
    虑「乙字」者「字符转整数」于「乙」于「序」而
    若「等于」于「甲字」于「乙字」
    则
      「串字节先于序」于「甲」于「乙」于(「加」于「序」于「一」)
    否则
      「小于」于「甲字」于「乙字」
也。

「串字节先于」乃化「字符串」而化「字符串」而「爻」也。
「串字节先于」者会「甲」而会「乙」而
  「串字节先于序」于「甲」于「乙」于「零」
也。

「插入有序串」乃化「字符串」而化(「列」于「字符串」)而「列」于「字符串」也。
「插入有序串」者会「所插」而会「已序」而
  鉴「已序」而
    有「罄」则「列」【「所插」】
    或有(「缀」于「首」于「余」)则
      若「串字节先于」于「所插」于「首」
      则
        「缀」于「所插」于「已序」
      否则
        「缀」于「首」于(「插入有序串」于「所插」于「余」)
也。

「:文言:字节序排诸串,同串保其相对之次。汉语:把字符串列表按 UTF-8 字节序升序排列(插入排序,适用于目录条目这类小列表)。:」
「排序字符串」乃化(「列」于「字符串」)而「列」于「字符串」也。
「排序字符串」者会「诸串」而
  鉴「诸串」而
    有「罄」则「罄」
    或有(「缀」于「首」于「余」)则
      「插入有序串」于「首」于(「排序字符串」于「余」)
也。

「列含串」乃化(「列」于「字符串」)而化「字符串」而「爻」也。
「列含串」者会「诸串」而会「所寻」而
  鉴「诸串」而
    有「罄」则「阴」
    或有(「缀」于「首」于「余」)则
      若「字符串相等吗」于「首」于「所寻」则「阳」否则「列含串」于「余」于「所寻」
也。

「:文言:去其重,存其先见者。汉语:去掉重复的字符串,保留每个串第一次出现的位置。:」
「去重字符串」乃
  化(「列」于「字符串」)而
  化(「列」于「字符串」)而
  「列」于「字符串」
也。
「去重字符串」者会「诸串」而会「已见」而
  鉴「诸串」而
    有「罄」则「罄」
    或有(「缀」于「首」于「余」)则
      若「列含串」于「已见」于「首」
      则
        「去重字符串」于「余」于「已见」
      否则
        「缀」于「首」于(「去重字符串」于「余」于(「缀」于「首」于「已见」))
也。

「:文言:去路径末之斜杠,唯根不去。汉语:去掉路径末尾多余的斜杠,单独的根 `/` 保持不变。:」
「去尾斜杠」乃化「字符串」而「字符串」也。
「去尾斜杠」者会「路径」而
  若「且」于(「串结尾是它吗」于『/』于「路径」)于(「大于」于(「串长度」于「路径」)于「一」)
  则
    「去尾斜杠」于(「获取子字符串」于「零」于(「减」于(「串长度」于「路径」)于「一」)于「路径」)
  否则
    「路径」
也。

「:文言:取路径末一段之名,先去其尾斜杠。汉语:取路径的最后一段(先去掉末尾斜杠),例如 dist/云用户目录/ 得 云用户目录;标准库的获取文件名对根下单名(如 /甲)会带着斜杠,这里去掉。:」
「路径末段」乃化「字符串」而「字符串」也。
「路径末段」者会「位置」而
  虑「末」者「路径」之「获取文件名」于(「去尾斜杠」于「位置」)而
  若「且」于(「串开头是它吗」于『/』于「末」)于(「大于」于(「串长度」于「末」)于「一」)
  则
    「获取子字符串」于「一」于(「串长度」于「末」)于「末」
  否则
    「末」
也。

「:文言:目录之列,去本级与上级之名及隐名,又去 node_modules。汉语:读目录后的过滤:去掉 . 与 ..、以点开头的隐藏项和 node_modules,避免包根扫描误入。:」
「可扫描条目吗」乃化「字符串」而「爻」也。
「可扫描条目吗」者会「名」而
  「且」
    于(「非」于(「字符串相等吗」于「名」于『』))
    于(「且」
      于(「非」于(「串开头是它吗」于『.』于「名」))
      于(「非」于(「字符串相等吗」于「名」于『node_modules』)))
也。

「:文言:标准库之「制表」乃四空格而非真制表符,故自造之,以转义得真制表。汉语:真正的制表符(标准库的「制表」是四个空格,不能当分隔符用)。:」
「制表符」者『「:制表:」』也。

「:文言:字段之中不容制表、换行、回车;容之则上下文之行断矣。汉语:判断文本里是否含制表符、换行或回车(这些字符会破坏一行一记录的包上下文格式)。:」
「含行界字符吗」乃化「字符串」而「爻」也。
「含行界字符吗」者会「文」而
  「或者」
    于(「是子字符串吗」于「制表符」于「文」)
    于(「或者」于(「是子字符串吗」于「新行」于「文」)于(「是子字符串吗」于「回车」于「文」))
也。

「:文言:以顿号联诸名,作报错之文。汉语:把名字列表用顿号连接成一行,供错误信息使用。:」
「顿号连接」乃化(「列」于「字符串」)而「字符串」也。
「顿号连接」者会「诸串」而
  「间合」于『、』于「诸串」
也。

「:文言:包名与接口名将入路径与命令,故须洁:不空、不为点或双点、不含斜杠反斜杠及行界字符。汉语:判断名字可以安全地拼进路径与命令行:不能为空、. 或 ..,也不能含正斜杠、反斜杠、制表符、换行或回车。:」
「安全名称吗」乃化「字符串」而「爻」也。
「安全名称吗」者会「名」而
  若「或者」
    于(「字符串相等吗」于「名」于『』)
    于(「或者」于(「字符串相等吗」于「名」于『.』)于(「字符串相等吗」于「名」于『..』))则
      「阴」
  否则
    「非」于(「或者」
      于(「是子字符串吗」于『/』于「名」)
      于(「或者」于(「是子字符串吗」于『\』于「名」)于(「含行界字符吗」于「名」)))
也。