文本工具。豫
yuyan · 135 行 · 7581 字节 · UTF-8
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135
寻观「标准库」之书。
寻观「标准库」之「数据结构」之「特殊字符」之书。
「:文言:此篇纯函数,供自动模式诸篇所共,不涉磁盘与子进程。汉语:文本与列表的小工具:按字节排序、去重、路径末段等,全部是纯函数,便于原生单元测试。:」
「:文言:按 UTF-8 字节次序较二串,毋随目录先后。汉语:判断甲串在第「序」字节起是否按字节序先于乙串;相等返回阴。:」
「串字节先于序」乃化「字符串」而化「字符串」而化「整数」而「爻」也。
「串字节先于序」者会「甲」而会「乙」而会「序」而
若「等于」于「序」于(「字节长度」于「甲」)
则
「小于」于「序」于(「字节长度」于「乙」)
否则若「等于」于「序」于(「字节长度」于「乙」)
则
「阴」
否则
虑「甲字」者「字符转整数」于「甲」于「序」而
虑「乙字」者「字符转整数」于「乙」于「序」而
若「等于」于「甲字」于「乙字」
则
「串字节先于序」于「甲」于「乙」于(「加」于「序」于「一」)
否则
「小于」于「甲字」于「乙字」
也。
「串字节先于」乃化「字符串」而化「字符串」而「爻」也。
「串字节先于」者会「甲」而会「乙」而
「串字节先于序」于「甲」于「乙」于「零」
也。
「插入有序串」乃化「字符串」而化(「列」于「字符串」)而「列」于「字符串」也。
「插入有序串」者会「所插」而会「已序」而
鉴「已序」而
有「罄」则「列」【「所插」】
或有(「缀」于「首」于「余」)则
若「串字节先于」于「所插」于「首」
则
「缀」于「所插」于「已序」
否则
「缀」于「首」于(「插入有序串」于「所插」于「余」)
也。
「:文言:字节序排诸串,同串保其相对之次。汉语:把字符串列表按 UTF-8 字节序升序排列(插入排序,适用于目录条目这类小列表)。:」
「排序字符串」乃化(「列」于「字符串」)而「列」于「字符串」也。
「排序字符串」者会「诸串」而
鉴「诸串」而
有「罄」则「罄」
或有(「缀」于「首」于「余」)则
「插入有序串」于「首」于(「排序字符串」于「余」)
也。
「列含串」乃化(「列」于「字符串」)而化「字符串」而「爻」也。
「列含串」者会「诸串」而会「所寻」而
鉴「诸串」而
有「罄」则「阴」
或有(「缀」于「首」于「余」)则
若「字符串相等吗」于「首」于「所寻」则「阳」否则「列含串」于「余」于「所寻」
也。
「:文言:去其重,存其先见者。汉语:去掉重复的字符串,保留每个串第一次出现的位置。:」
「去重字符串」乃
化(「列」于「字符串」)而
化(「列」于「字符串」)而
「列」于「字符串」
也。
「去重字符串」者会「诸串」而会「已见」而
鉴「诸串」而
有「罄」则「罄」
或有(「缀」于「首」于「余」)则
若「列含串」于「已见」于「首」
则
「去重字符串」于「余」于「已见」
否则
「缀」于「首」于(「去重字符串」于「余」于(「缀」于「首」于「已见」))
也。
「:文言:去路径末之斜杠,唯根不去。汉语:去掉路径末尾多余的斜杠,单独的根 `/` 保持不变。:」
「去尾斜杠」乃化「字符串」而「字符串」也。
「去尾斜杠」者会「路径」而
若「且」于(「串结尾是它吗」于『/』于「路径」)于(「大于」于(「串长度」于「路径」)于「一」)
则
「去尾斜杠」于(「获取子字符串」于「零」于(「减」于(「串长度」于「路径」)于「一」)于「路径」)
否则
「路径」
也。
「:文言:取路径末一段之名,先去其尾斜杠。汉语:取路径的最后一段(先去掉末尾斜杠),例如 dist/云用户目录/ 得 云用户目录;标准库的获取文件名对根下单名(如 /甲)会带着斜杠,这里去掉。:」
「路径末段」乃化「字符串」而「字符串」也。
「路径末段」者会「位置」而
虑「末」者「路径」之「获取文件名」于(「去尾斜杠」于「位置」)而
若「且」于(「串开头是它吗」于『/』于「末」)于(「大于」于(「串长度」于「末」)于「一」)
则
「获取子字符串」于「一」于(「串长度」于「末」)于「末」
否则
「末」
也。
「:文言:目录之列,去本级与上级之名及隐名,又去 node_modules。汉语:读目录后的过滤:去掉 . 与 ..、以点开头的隐藏项和 node_modules,避免包根扫描误入。:」
「可扫描条目吗」乃化「字符串」而「爻」也。
「可扫描条目吗」者会「名」而
「且」
于(「非」于(「字符串相等吗」于「名」于『』))
于(「且」
于(「非」于(「串开头是它吗」于『.』于「名」))
于(「非」于(「字符串相等吗」于「名」于『node_modules』)))
也。
「:文言:标准库之「制表」乃四空格而非真制表符,故自造之,以转义得真制表。汉语:真正的制表符(标准库的「制表」是四个空格,不能当分隔符用)。:」
「制表符」者『「:制表:」』也。
「:文言:字段之中不容制表、换行、回车;容之则上下文之行断矣。汉语:判断文本里是否含制表符、换行或回车(这些字符会破坏一行一记录的包上下文格式)。:」
「含行界字符吗」乃化「字符串」而「爻」也。
「含行界字符吗」者会「文」而
「或者」
于(「是子字符串吗」于「制表符」于「文」)
于(「或者」于(「是子字符串吗」于「新行」于「文」)于(「是子字符串吗」于「回车」于「文」))
也。
「:文言:以顿号联诸名,作报错之文。汉语:把名字列表用顿号连接成一行,供错误信息使用。:」
「顿号连接」乃化(「列」于「字符串」)而「字符串」也。
「顿号连接」者会「诸串」而
「间合」于『、』于「诸串」
也。
「:文言:包名与接口名将入路径与命令,故须洁:不空、不为点或双点、不含斜杠反斜杠及行界字符。汉语:判断名字可以安全地拼进路径与命令行:不能为空、. 或 ..,也不能含正斜杠、反斜杠、制表符、换行或回车。:」
「安全名称吗」乃化「字符串」而「爻」也。
「安全名称吗」者会「名」而
若「或者」
于(「字符串相等吗」于「名」于『』)
于(「或者」于(「字符串相等吗」于「名」于『.』)于(「字符串相等吗」于「名」于『..』))则
「阴」
否则
「非」于(「或者」
于(「是子字符串吗」于『/』于「名」)
于(「或者」于(「是子字符串吗」于『\』于「名」)于(「含行界字符吗」于「名」)))
也。