join!

语法

join!(X, Y)

参数

X 可以是向量、元组、矩阵或表。

Y 可以是标量、向量、元组、矩阵或表。

如果 X 是向量或元组,Y 可以是标量、向量或元组。如果 X 是矩阵,Y 可以是向量或矩阵。如果 X 是表,Y 可以是向量或表。

详情

Y 合并到 X 中,join! 函数会改变 X 的值。

例子

如果 X 是向量,Y 可以是标量、向量或数据类型与 X 相同的元组。返回结果是长度更长的向量。

x=[1,2,3]
x.join!(4)
x;

输出返回:[1,2,3,4]

x.join!(5 6 7)
x;

输出返回:[1,2,3,4,5,6,7]

x.join!((8,9))
x;

输出返回:[1,2,3,4,5,6,7,8,9]

如果 X 是元组,Y 可以是标量、向量或元组。返回结果是长度更长的元组。

x = (1,"A")
x.join!(2)
x;

返回:(1,"A",2)

x.join!([3,4,5])
x;

返回:(1,"A",2,[3,4,5])

如果配置项 appendTupleAsAWhole 设置为 true,运行以下脚本:

x.join!(("B","C"))   // 配置参数 appendTupleAsAWhole=true 时
x;

返回:(1,"A",2,[3,4,5],("B","C"))

如果配置项 appendTupleAsAWhole 设置为 false,运行以上脚本后,返回:(1,"A",2,[3,4,5],"B","C")

如果 X 是矩阵,Y 可以是向量或者是与 X 行数相同的矩阵。返回结果是与 X 行数相同的矩阵。

x=1..6$2:3
join!(x, [7,8])
x;

输出返回:

#0 #1 #2 #3
1 3 5 7
2 4 6 8
x.join!(9..12$2:2)
x;

输出返回:

#0 #1 #2 #3 #4 #5
1 3 5 7 9 11
2 4 6 8 10 12

如果 X 是表,Y 必须是和 X 行数相同的表或向量。返回结果是与 X 行数相同的表。

a=table(1..3 as x, 4.5 6.7 8.5 as y);
a;

输出返回:

x y
1 4.5
2 6.7
3 8.5
b=table(700 500 800 as z);
b;

输出返回:

z
700
500
800
join!(a,b);
a;

输出返回:

x y z
1 4.5 700
2 6.7 500
3 8.5 800
a=table(1..3 as x, `IBM`C`AAPL as y);
b=table(172.3 25 106.5 as z);
a.join!(b);
a;

输出返回:

x y z
1 IBM 172.3
2 C 25
3 AAPL 106.5