modify()

阅读(3429) 标签: modify,

本章介绍modify()函数的多种用法。

r.modify( xi : Fi ,…)

描述:

修改记录字段值。

语法:

r.modify(xi:Fi,)

备注:

修改记录r中的字段值

参数:

r

待修改的记录。

xi

修改表达式。

Fi

待修改的字段名,Fi省略,则修改r中第i个字段。

r'

用来修改记录r的新记录值。

选项:

@r(r')

按照字段的顺序,用记录r’修改记录r

@f(r')

用记录r按照字段名称修改记录r

返回值:

记录

示例:

 

A

 

1

=[[1,"Lucy",29]].new(~(1):ID,~(2):Name,~(3):Age)

2

=A1(1).modify(2,"Petter")

修改第一第二个字段:

 

3

=A2.modify(30:Age)

修改 Age 字段:

 

4

=A3.modify(3,33:Age)

修改第一个字段和 Age 字段:

 

5

=[[4,"Lily",23]].new(~(1):SID,~(2):SName,~(3):SAge)

6

=A4.modify@r(A5(1))

A5(1)成员有序填入A4中:

 

7

=A6.modify@f(([["ella"]].new(~(1):Name))(1))

修改 A6 字段值,仅修改Name 字段:

 

相关概念:

T.modify()

T.insert()

T.delete()

T.modify()

描述:

修改序表记录值。

语法:

T.modify(k,xi:Fi,…)

修改第k位置的记录,等同于T(k).modify(xi:Fi,…)

T.modify(k:A,xi:Fi,…)

从第k个记录开始,依次修改第k到第k+|A|-1个记录。

备注:

按照指定的位置,修改某条记录或某几条记录。修改记录时有索引则自动更新,并检查唯一性。

参数:

k

修改记录的位置,当k越界时,在最后追加记录。

xi

修改记录Fi字段的字段值。

Fi

修改记录的字段名,Fi省略,则修改T中第i个字段。

T

序表。

A

序列或者整数,当A为整数时,等同于to(A)

选项:

@n

返回新修改的记录或序列。

@r(k:A)

按照字段的顺序,从第k个记录开始,用序列A修改序表T

@f(k:A)

从第k个记录开始,用序列A按照字段名称修改序表T。仅修改AT相同的字段名称对应的字段值。

返回值:

记录/序列

示例:

 

A

 

1

=demo.query("select * from DEPARTMENT")

2

=A1.modify(1,"Sales",5)

修改第一条记录的第一第二个字段:

3

=A1.modify(2,6:MANAGER)

修改第二条记录的 MANAGER字段值:

 

4

=A1.modify@n(2:1,"AAA":DEPT,76:MANAGER)

返回更新后的第2条记录:

5

=create(DeptName,ManagerID)

6

=A5.modify(1:A1,DEPT:DeptName,MANAGER:ManagerID)

1越界,因此从后面追加记录:

 

7

=A1.delete(A1.select(MANAGER>5))

 

8

=A5.modify@r(1:A7)

从第1个记录开始,用A7修改A5

9

=create(DeptName,MANAGER)

 

10

=A9.modify@f(1:A7)

仅修改MANAGER

相关概念:

r.modify()

T.insert()

T.delete()

A.modify()

A.modify()

描述:

按照指定的位置,给一个或多个成员赋值。

语法:

A.modify(k,x)

将序列A中第k个成员赋值为x

A.modify(k,X)

用序列X的成员依次给序列A中第k到第k+|X|-1个成员赋值,k<0则从后面开始数。

备注:

x赋值给序列Ak个成员,或者用序列X的成员依次给序列A中第k到第k+|X|-1个成员赋值

参数:

A

序列。

k

成员位置,k大于A的长度时,在最后追加成员。

x

成员值。

X

序列。

选项:

@n

返回修改涉及到的记录或排列。

返回值:

序列

示例:

 

A

 

1

=["a","c","d","e","f"]

 

2

=A1.modify(2,"g")

[a,g,d,e,f]

3

=A1.modify(6,[2,4,5])

[a,g,d,e,f,2,4,5],越界成员相当于追加。

4

=demo.query("select * from STUDENTS")

 

5

=A4.modify@n(2:3,ID+10:ID)

修改涉及到的排列

6

=A1. modify(-2,"h")

[a,g,d,e,f,2,4,h,5],参数k<0则从后面开始数。

相关概念:

A.delete()

A.insert()

T.modify()