数据结构/多态列。豫
yuyan · 478 行 · 23058 字节 · 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 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478
寻观「标准库」之「数据结构」之「爻术」之书。
寻观「标准库」之「语言核心」之「内建类型」之书。
寻观「标准库」之「数据结构」之「整数操作」之书。
寻观「标准库」之「语言核心」之「异常」之书。
寻观「标准库」之「输入输出」之「笔」之书。
寻观「标准库」之「数据结构」之「可选值」之书。
寻观「标准库」之「语言核心」之「续延」之书。
「:
汉语:类型构造器:给定元素类型,构成同类型元素的列表类型。
文言:受物类而成其列类,诸物同类。
赋曰:先牵长线待珠来,大小同门次第排。未有一珠先定式,千般队列此中开。
:」
「列」立化「元类型」而「元类型」也。
「:
汉语:构造指定元素类型的空列表。
文言:依所授类作空列。
赋曰:列到无珠线尚存,空名也是此中根。后来缀物从头起,万队皆由此处门。
:」
「罄」立(承「甲」而「列」于「甲」)也。
「:
汉语:依次接收头元素和尾列表,构造头在前、尾在后的新列表。
文言:以所授物冠列之首而成新列。
赋曰:新珠缀在旧绳头,后队依然次第留。一步生来长一节,千行从此接长流。
:」
「缀」立(承「甲」而化「甲」而化(「列」于「甲」)而「列」于「甲」)也。
「: 注 list map。 :」
「:
汉语:依次接收列表和映射函数,保持顺序返回逐项映射的列表。
文言:受列及射,循序施之,得新列。
赋曰:一行春树过东风,叶叶新妆次第同。不改来时前后序,千枝各自映晴空。
:」
「态射」乃
(承「甲」而承「乙」而化(「列」于「甲」)而化(化「甲」而「乙」)而「列」于「乙」)
也。
「态射」者受「甲」而受「乙」而会「输入」而会「射」而
「:文言:短列径成,长列仍逆积。汉语:AST 遍历多为空列或少量子节点;短列不创建递归辅助闭包和反转中间列,回调仍从左到右各执行一次。:」
鉴「输入」而
有「罄」则「罄」授以「乙」
或有(「列」【「首」】)则
「列」【「射」于「首」】
或有(「列」【「首」,「次」】)则
(虑「首值」者「射」于「首」而虑「次值」者「射」于「次」而「列」【「首值」,「次值」】)
或有(「列」【「首」,「次」,「末」】)则(
虑「首值」者「射」于「首」而
虑「次值」者「射」于「次」而
虑「末值」者「射」于「末」而
「列」【「首值」,「次值」,「末值」】
)
或有「长列」则(
「:文言:顺施其射,逆积而返。汉语:按原顺序调用映射函数,以尾递归积累后反转,长列表不增长调用栈。:」
递归虑「倒」其化(「列」于「乙」)而化(「列」于「乙」)而(「列」于「乙」)者
会「余」而会「已得」而鉴「余」而
有「罄」则「已得」
或有(「缀」于「首」于「尾」)则
「倒」于「尾」于(「缀」授以「乙」于「首」于「已得」)
而
递归虑「映」其化(「列」于「甲」)而化(「列」于「乙」)而(「列」于「乙」)者
会「余」而会「逆列」而鉴「余」而
有「罄」则「倒」
于「逆列」
于(「罄」授以「乙」)
或有(「缀」于「首」于「尾」)则
(虑「值」者「射」于「首」而「映」于「尾」于(「缀」授以「乙」于「值」于「逆列」))
而
「映」于「长列」于(「罄」授以「乙」)
)
也。
「:打表态射是态射的兼容别名:」
「:
汉语:态射的兼容接口,先传列表,再传映射函数。
文言:态射之兼名也,先列后射。
赋曰:旧径新题柳色浓,行行依次受春风。任他门额添名字,一脉清溪万树红。
:」
「打表态射」乃
(承「甲」而承「乙」而化(「列」于「甲」)而化(化「甲」而「乙」)而「列」于「乙」)
也。
「打表态射」者受「甲」而受「乙」而会「列」而会「射」而
「态射」于「列」于「射」
也。
「: 注 list foldr。 :」
「:
汉语:接收组合函数、初值和列表;先折叠尾部,再将当前元素与尾部结果组合。
文言:受合术、初值及列;先合尾,乃以首合其得。
赋曰:归潮自远入沙洲,末水先归首水收。一线回环连万顷,源头终得众泉流。
:」
「从右折叠」乃
承「甲」而承「乙」而
化(化「甲」而化「乙」而「乙」)而
化「乙」而
化(「列」于「甲」)而
「乙」
也。
「从右折叠」者受「甲」而受「乙」而会
「组合」而会「缺省」而会「甲列」而
「:文言:先逆列,复自左合之,次序犹自右而栈不增。汉语:先反转列表,再尾递归合并,组合函数仍按原来从右到左的顺序执行。:」
递归虑「倒」其化(「列」于「甲」)而化(「列」于「甲」)而(「列」于「甲」)者会「余」而会「逆列」而
鉴「余」而
有「罄」则「逆列」
或有「缀」于「头」于「尾」则
「倒」于「尾」于(「缀」授以「甲」于「头」于「逆列」)
而
递归虑「合」其化(「列」于「甲」)而化「乙」而「乙」者会「余」而会「积」而
鉴「余」而
有「罄」则「积」
或有「缀」于「头」于「尾」则
虑「新积」者「组合」于「头」于「积」而
「合」于「尾」于「新积」
而
「合」于(「倒」于「甲列」于(「罄」授以「甲」))于「缺省」也。
「: 注 list foldl。 :」
「:
汉语:接收组合函数、初值和列表;从左到右将当前元素和累积值传给组合函数。
文言:自首至尾,以当前物及积值授合术,递求其成。
赋曰:溪流自首过千湾,每到新湾带旧澜。一卷行程随水记,尽头收得万重山。
:」
「从左折叠」乃
承「甲」而承「乙」而
化(化「甲」而化「乙」而「乙」)而
化「乙」而
化(「列」于「甲」)而
「乙」
也。
「从左折叠」者受「甲」而受「乙」而会
「组合」而会「缺省」而会「甲列」而
(
鉴「甲列」而
有「罄」则「缺省」
或有「缀」于「头」于「尾」则
(「从左折叠」授以「甲」授以「乙」于「组合」于(「组合」于「头」于「缺省」)于「尾」)
)也。
「: 注:list filter。 :」
「:
汉语:按谓词保留返回阳的元素,维持原顺序。
文言:验物以谓词,阳则留之,序不易。
赋曰:淘尽浮沙水自清,真珠依次露晶莹。去留但照心中尺,莫乱来时旧队行。
:」
「滤」乃
承「乙」而
化(化「乙」而「爻」)而
化(「列」于「乙」)而
「列」于「乙」
也。
「滤」者受「乙」而会「过滤函数」而会「项」而
「:文言:逆积而复序,递行不留帧。汉语:谓词仍按输入顺序恰执行一次;尾递归累积后反转,避免长列表耗尽调用栈。:」
递归虑「筛」其化(「列」于「乙」)而化(「列」于「乙」)而(「列」于「乙」)者会「余」而会「逆果」而
鉴「余」而
有「罄」则「从左折叠」授以「乙」授以(「列」于「乙」)
于(会「值」而会「积」而「缀」授以「乙」于「值」于「积」)
于(「罄」授以「乙」)于「逆果」
或有「缀」于「头」于「尾」则
若「过滤函数」于「头」
则
「筛」于「尾」于(「缀」于「头」于「逆果」)
否则
「筛」于「尾」于「逆果」
而
「筛」于「项」于「罄」
也。
「:
汉语:执行滤,打印“过滤完成,结果是”这一行,再返回过滤结果;不打印元素内容。
文言:滤列而书成事之言,乃还所得,不书其物。
赋曰:筛罢珠沙玉色明,临窗报得一声清。只言事毕留其果,未把珠玑逐个呈。
:」
「滤debug」乃
承「乙」而
化(化「乙」而「爻」)而
化(「列」于「乙」)而
「列」于「乙」
也。
「滤debug」者受「乙」而会
「过滤函数」而会「甲」而
虑「结果」者「滤」授以「乙」于「过滤函数」于「甲」而
虑「无」者「笔」之「打印行」于『过滤完成,结果是』而
「结果」
也。
「: 注append。 :」
「:
汉语:将第二个列表接在第一个列表之后,保持各自顺序。
文言:续后列于前列之末,序如故。
赋曰:前舟后棹接长流,两队相衔共一游。旧序依然分首尾,并成雁阵向汀洲。
:」
「附加」乃
承「乙」而
化(「列」于「乙」)而
化(「列」于「乙」)而
「列」于「乙」
也。
「附加」者受「乙」而会「列一」而会「列二」而
「:文言:两迁而续,尾列仍因其旧。汉语:尾递归反转前列后搬到后列前,保留元素顺序和后列共享,避免长列表附加增长调用栈。:」
递归虑「迁」其化(「列」于「乙」)而化(「列」于「乙」)而(「列」于「乙」)者
会「余」而会「已得」而鉴「余」而
有「罄」则「已得」
或有(「缀」于「首」于「尾」)则
「迁」于「尾」于(「缀」授以「乙」于「首」于「已得」)
而
「迁」于(「迁」于「列一」于(「罄」授以「乙」))于「列二」
也。
「: 注 list foldmap。 :」
「:
汉语:从左遍历,组合函数接收元素与状态,返回新元素与新状态;最终返回映射列表及最终状态。
文言:循列施合术,得新物与新积;终还新列及末积。
赋曰:一程收景一程行,景入长笺数渐成。走到溪山穷尽处,满囊风物共归程。
:」
「从左态射折叠」乃
承「甲」而
承「乙」而
承「丙」而
化(化「甲」而化「乙」而「丙」合「乙」)而
化「乙」而
化(「列」于「甲」)而
((「列」于「丙」)合「乙」)
也。
「从左态射折叠」者受「甲」而受「乙」而受「丙」而(会
「组合」而会「缺省」而会「甲列」而
「从左折叠」授以「甲」授以((「列」于「丙」)合「乙」)
于(会「当前元素」而会「列及累加」而
鉴「列及累加」而
有(「丙列」与「累加」)则(
鉴(「组合」于「当前元素」于(「列及累加」中「一」))而
有(「新素」与「新累加」)则(「附加」于(「列及累加」中「零」)于((「列」【「新素」】))与「新累加」)
))于(「罄」与「缺省」)于「甲列」
)也。
「: 注append。 :」
「:
汉语:将一个元素追加到列表末尾,返回新列表。
文言:以一物续列末,得新列。
赋曰:长行雁影过江天,又见孤鸿接后边。不向前群争首席,相随一字更绵延。
:」
「结尾多」乃承「乙」而化(「列」于「乙」)而化「乙」而「列」于「乙」也。
「结尾多」者会「列一」而会「元素」而
「附加」于「列一」于((「列」【「元素」】))
也。
「: 注reverse。 :」
「:
汉语:返回元素顺序颠倒的列表。
文言:倒其列序,末为首,首为末。
赋曰:回舟倒看旧溪湾,后岭先来首岭还。一队归鸿翻次序,依然同过此江山。
:」
「反转」乃承「乙」而化(「列」于「乙」)而「列」于「乙」也。
「反转」者受「乙」而会「原列」而
「:文言:以前衔积之,线性而成。汉语:尾递归积累结果,避免反复附加导致二次复杂度;元素顺序与原实现一致。:」
递归虑「倒置」其化(「列」于「乙」)而化(「列」于「乙」)而(「列」于「乙」)者会「余」而会「已得」而
鉴「余」而
有「罄」则「已得」
或有「缀」于「首」于「尾」则
「倒置」于「尾」于(「缀」授以「乙」于「首」于「已得」)
而
「倒置」于「原列」于(「罄」授以「乙」)
也。
「: 注concat。建议改名:列联 :」
「:
汉语:按顺序连接列表中的各个子列表,展开一层。
文言:循序联诸子列,去其外层。
赋曰:卷卷云笺次第开,长篇接续不须裁。千溪仍守来时序,合向江头一处来。
:」
「串联」乃承「乙」而化(「列」于(「列」于「乙」))而「列」于「乙」也。
「串联」者受「乙」而会「甲」而
「:文言:逐层逆积,终复其序;列多亦不叠栈。汉语:逐个子列表逆序积累,最后反转一次,保持顺序并避免按子列表数量增长调用栈。:」
虑「逆积」者
「从左折叠」授以(「列」于「乙」)授以(「列」于「乙」)
于(会「子列」而会「积」而
「从左折叠」授以「乙」授以(「列」于「乙」)
于(会「元素」而会「已有」而「缀」授以「乙」于「元素」于「已有」)
于「积」于「子列」
)
于(「罄」授以「乙」)
于「甲」
而
「反转」授以「乙」于「逆积」
也。
「: 注length。 :」
「:
汉语:返回列表元素个数,空列表为零。
文言:数列中物,空则零。
赋曰:逐树巡堤记柳行,枝枝不问短和长。只将数目收入册,空岸无声也有章。
:」
「长度」乃承「乙」而化(「列」于「乙」)而「整数」也。
「长度」者受「乙」而会「输入」而
「:文言:计数随行,尾递不积栈。汉语:以整数累加器尾递归计算长度,长字符串字节列表不会产生线性调用栈。:」
递归虑「计」其化(「列」于「乙」)而化「整数」而「整数」者
会「余」而会「已数」而鉴「余」而
有「罄」则「已数」
或有(「缀」于「首」于「尾」)则
「计」于「尾」于(「加」于「已数」于「一」)
而
「计」于「输入」于「零」
也。
「: 注takeN。 :」
「:
汉语:接收数量与列表,取前若干项;超过长度时返回全部。数量应非负,当前负数实现也会取完整列。
文言:受数及列,取前数物,数过则尽取;宜用非负数,今负亦尽取。
赋曰:采得前枝入小篮,行来有数便停骖。若逢树尽篮犹浅,也把全枝带下岚。
:」
「取」乃承「乙」而化「整数」而化(「列」于「乙」)而「列」于「乙」也。
「取」者受「乙」而会「数」而会「甲」而
「:文言:逆积而复序,长列不叠其栈。汉语:尾递归取前缀,保留零、超长和负数参数的既有行为,避免长文档耗尽调用栈。:」
递归虑「取前」其化「整数」而化(「列」于「乙」)而化(「列」于「乙」)而(「列」于「乙」)者会「余数」而会「余列」而会
「逆果」而
鉴「余列」而
有「罄」则「反转」于「逆果」
或有「缀」于「头」于「尾」则
若「等」于「余数」于「零」则
「反转」于「逆果」
否则
「取前」
于(「减」于「余数」于「一」)
于「尾」
于(「缀」于「头」于「逆果」)
而
「取前」于「数」于「甲」于「罄」
也。
「: 注dropN。 :」
「:
汉语:接收非负数量和列表,丢弃前若干项;数量超过长度或为负时抛出索引事故。
文言:弃列前数物,还其余;数负或过长则告事故。
赋曰:放过前山见后山,行程有数过重关。若将尽路还求越,便有钟声止客还。
:」
「放」乃承「乙」而化「整数」而化(「列」于「乙」)而「列」于「乙」也。
「放」者
会「数」而会「甲」而
鉴「甲」而
有「罄」则(若「等」于「数」于「零」
则
(「罄」)
否则
「发生事故」于『索引异常』)
或有「缀」于「头」于「尾」则
(若「整数操作」之「等零」于「数」则「甲」
否则
((「放」于(「减」于「数」于「一」)于(「尾」))))
也。
「: 注dropN at the end。 :」
「:
汉语:丢弃列表末尾指定数量的元素;数量须在零与列表长度之间。
文言:弃列末数物;数须非负且不逾长。
赋曰:收起归帆末一行,前舟依旧映斜阳。若从尽处多裁剪,须报行程已越疆。
:」
「结尾放」乃承「乙」而化「整数」而化(「列」于「乙」)而「列」于「乙」也。
「结尾放」者受「乙」而会「数」而会「列」而
「反转」于(「放」于「数」于((「反转」)于「列」))
也。
「: 注beginswith。 :」
「:
汉语:接收比较函数、前缀列和目标列,判断目标是否以该前缀开头;空前缀为阳。
文言:以所授术校前缀与目标之首;空缀则阳。
赋曰:卷首题辞逐字寻,前章相契便知音。空笺未写无须比,留与长篇共此心。
:」
「以起否」乃
承「乙」而
化(化「乙」而化「乙」而(「爻」))而
化(「列」于「乙」)而
化(「列」于「乙」)而
「爻」
也。
「以起否」者受「乙」而
会「等于测试」而会「前缀」而会「测试列」而
鉴「前缀」而
有「罄」则「阳」
或有「缀」于「缀头」于「缀尾」则(
鉴「测试列」而
有「罄」则「阴」
或有「缀」于「测头」于「测尾」则
「且」
于(「等于测试」于(「缀头」)于(「测头」))
于(「以起否」授以「乙」于「等于测试」于(「缀尾」)于(「测尾」))
)
也。
「: 注endswith。 :」
「:
汉语:接收比较函数、后缀列和目标列,判断目标是否以该后缀结尾;空后缀为阳。
文言:校后缀与目标之末;空缀则阳。
赋曰:读到篇终认落款,回看字字有余音。末章相合方称是,空尾无言亦契心。
:」
「以终否」乃
承「乙」而
化(化「乙」而化「乙」而(「爻」))而
化(「列」于「乙」)而
化(「列」于「乙」)而
「爻」
也。
「以终否」者受「乙」而会「等于测试」而会「后缀」而会「测试列」而
「以起否」授以「乙」
于「等于测试」
于((「反转」授以「乙」)于「后缀」)
于(「反转」授以「乙」于「测试列」)
也。
「: 注exists。 :」
「:
汉语:判断列表中是否有元素满足谓词;空列表为阴。当前实现会检查所有元素。
文言:验全列,有合者则阳,空则阴;今不早止。
赋曰:满圃寻芳遍径行,一枝堪折便春生。虽逢好景犹巡尽,看罢群花始报晴。
:」
「存在吗」乃
承「乙」而
化(化「乙」而(「爻」))而
化(「列」于「乙」)而
「爻」
也。
「存在吗」者受「乙」而会「函」而会「列」而
「非」于(「等」于「零」于(「长度」授以「乙」于((「滤」授以「乙」于「函」于(「列」)))))
也。
「: 注all。 :」
「:
汉语:判断所有元素是否满足谓词;空列表为阳,当前实现会检查所有元素。
文言:遍验列物,皆合乃阳;空亦阳。
赋曰:一队征鸿逐个看,羽齐方许过重关。纵无来雁空天阔,也作齐心报平安。
:」
「全部符合」乃
承「乙」而
化(化「乙」而(「爻」))而
化(「列」于「乙」)而
「爻」
也。
「全部符合」者受「乙」而会「函」而会「列」而
「等」于(「长度」授以「乙」于「列」)
于(「长度」授以「乙」于((「滤」授以「乙」于「函」于(「列」))))
也。
「: 注tabulate。 :」
「:
汉语:接收非负长度和函数,将零至长度减一的索引依次映射成列表;负长度不会正常终止。
文言:受非负长及术,自零循数施之成列;长负则不止。
赋曰:从零落笔写长笺,一格新成一格连。数满停毫收卷去,空篇也可到君前。
:」
「打表」乃承「乙」而化「整数」而化(化「整数」而(「乙」))而「列」于「乙」也。
「打表」者受「乙」而会「数」而会「函」而
「:文言:自零施术,逆积而返,不累调用之栈。汉语:维持从零递增的回调顺序,以尾递归逆序积累,最后反转,长字符数组不会按元素数增长调用栈。:」
递归虑「递归」其化「整数」而化(「列」于「乙」)而(「列」于「乙」)者
会「当前数」而会「逆列」而
若「等」于「当前数」于「数」则
「反转」授以「乙」于「逆列」
否则
(虑「当前值」者「函」于「当前数」而「递归」于(「加」于「当前数」于「一」)于(「缀」于「当前值」于「逆列」))
而
「递归」于「零」于(「罄」授以「乙」)
也。
「:
汉语:按从零开始的索引取元素;负数或越界索引抛出事故。
文言:自零数而取物;负或越界则告事故。
赋曰:从零数雁过长汀,点到其名取一翎。若向空天寻队外,当闻警语莫前行。
:」
「第N个」乃承「乙」而化「整数」而化(「列」于「乙」)而「乙」也。
「第N个」者会「数」而会「列」而
若「等」于「零」于「数」则(鉴「列」而
有「缀」于「头」于「尾」则(「头」)
或有「罄」则(「发生事故」于『索引异常』))
否则
(
鉴「列」而
有「缀」于「头」于「尾」则(「第N个」于(「减」于「数」于「一」)于「尾」)
或有「罄」则
(「发生事故」于『索引异常』)
)
也。