On this page:
伄^
􏾝
􏾘
􏾘^
􏺊
􏹃
􏹊
仔?
􏼓
􏿳
􏿳?
􏺈
􏺇
8.12

4.2 􏿴🔗

 (require ming/list) package: ming
Racket标准库双和􏿴的名语言扩展。

本页所列之例程的实现代码是名语言,因此源代码有参照意义。

procedure

( LST N ...)  􏿴?

  LST : 􏿴?
  N : 􏺡?

procedure

(伄^ LST N-LST)  􏿴?

  LST : 􏿴?
  N-LST : (listof 􏺡?)
  • :以多个N作为索引来查找出LST中全部对应的元素并组成􏿴返回。

  • 伄^:与上同,除了入参类型不同外。

为古活字,另见:

Examples:
> ( '(a b c d e f g) 0 2 3)

'(a c d)

> (伄^ '(a b c d e f g) '(0 2 3))

'(a c d)

procedure

(􏾝 LST N1 N2)  􏿴?

  LST : 􏿴?
  N1 : 􏺡?
  N2 : 􏺡?
􏾝:返回LST的第N1至第N2之间的元素(从0算起,包含N1不包含N2)。

􏾝为新造字,另见:􏾺𨚞

Examples:
> (􏾝 '(a b c d e f) 0 0)

'()

> (􏾝 '(a b c d e f) 0 1)

'(a)

> (􏾝 '(a b c d e f) 1 2)

'(b)

> (􏾝 '(a b c d e f) 0 2)

'(a b)

> (􏾝 '(a b c d e f) 0 5)

'(a b c d e)

> (􏾝 '(a b c d e f) 2 5)

'(c d e)

> (􏾝 '(a b c d e f) 2)

'(c d e f)

procedure

(􏾘 LST N)  􏿴?

  LST : 􏿴?
  N : 􏺡?

procedure

(􏾘^ LST N-LST)  􏿴?

  LST : 􏿴?
  N-LST : (listof? 􏺡?)
  • 􏾘:从LST中删除索引N所对应的元素。

  • 􏾘^:与上同,除了入参类型不同外。

􏾘为新造字,另见:􏹊􏹇

Examples:
> (􏾘 '(a b c d e f g) 1)

'(a c d e f g)

> (􏾘^ '(a b c d e f g) '(0 1 3))

'(c e f g)

procedure

(􏺊 LST N M)  􏿴?

  LST : 􏿴?
  N : 􏺡?
  M : 􏺡?
返回LST左边移除N个元素,右边移除M个元素后的结果。

本例程等同于:
(􏷴 (􏷵 LST N) M)

􏺊为新造字,另见:􏷵􏷴

Example:
> (􏺊 '(a b c d e f g) 1 3)

'(b c d)

procedure

(􏹃 LST PROC)  􏺡?

  LST : 􏿴?
  PROC : 程?
PROC来测量LST的长度。

􏹃为新造字,另见:􏹈巨

Example:
> (􏹃 '(a b 12 c 33 d  58 f g) 米?)

3

procedure

( LST)  􏿴?

  LST : 􏿴?
返回LST中的重复元素组成的􏿴

为古活字,另见:

Examples:
> ( '())

'()

> ( '(11))

'()

> ( '(11 22 33 22 44))

'(22)

> ( '(11 11 11 22 55 22 33 88 88 88 99 99))

'(11 22 88 99)

procedure

(􏹊 V LST [PROC])  􏿴?

  V : any/c
  LST : 􏿴?
  PROC : 程? = 同?
LST中找出V并移除之。

􏹊为新造字,另见:􏹊~􏹊^

Example:
> (􏹊 'c '(a b c d e c f))

'(a b d e f)

procedure

(仔? LST1 LST2)  boolean?

  LST1 : 􏿴?
  LST2 : 􏿴?
LST1是否是LST2的子集。

为活用字

Examples:
> (仔? '(a b) '(a b c d e f g))

#t

> (仔? '(a e) '(a b c d e f g))

#t

> (仔? '(a z) '(a b c d e f g))

#f

procedure

(􏼓 V N ...)  􏿴?

  V : any?
  N : 􏺡?
same as 􏼓0 except the reverse order of arguments.

Example:
> (􏼓 'val 8)

'(val val val val val val val val)

procedure

(􏿳 V ...)  􏿳?

  V : any?
生成元素是若干个“”的“􏿴”,这种数据结构我们称之为“􏿳”。“􏿳”可以被看作是减配的“􏿰”(比如“键值对”不必唯一)。

􏿳为新造字
  • 􏿳+􏿴组合而成,表示其是由若干个“”组成的“􏿴”数据结构;

另见:􏿰

Examples:
> (􏿳 1 2 3 4 1 5)

'((1 . 2) (3 . 4) (1 . 5))

> (􏿳)

'()

> (􏿳 1)

'()

> (􏿳 1 2 3)

'((1 . 2))

procedure

(􏿳? V)  boolean?

  V : any?
If V is 􏿳 or not. Same as ( (􏿴? V) (􏷮 双? V)).

Examples:
> (􏿳? '(1 2 3 4))

#f

> (􏿳? (􏿳 1 2 3 4))

#t

> (􏿳? '((1 . 2) (3 . 4)))

#t

> (􏿳? '((1 2) (3 4)))

#t

> (􏿳? '((1 (2)) (3 (4))))

#t

procedure

(􏺈 ALST)  􏿴?

  ALST : 􏿳?

procedure

(􏺇 ALST)  􏿴?

  ALST : 􏿳?

分别等同于:

另见:􏹉􏿰􏺈􏿰􏺇

Examples:
> (􏺈 '((1 . 2) (3 . 4)))

'(1 3)

> (􏺇 '((1 . 2) (3 . 4)))

'(2 4)