Engee 文档
Notebook

忽略功能输出

本例演示了如何使用斜线 (~) 操作符忽略某些函数的输出。


假设我们有一个数据数组。我们需要找到最小值的元素及其索引。

In [ ]:
A = rand(5,5)
Out[0]:
5×5 Matrix{Float64}:
 0.923803  0.846264  0.108276  0.491786  0.212166
 0.784039  0.554027  0.242687  0.630576  0.428159
 0.824051  0.142176  0.850137  0.236555  0.2872
 0.641244  0.521024  0.181037  0.841322  0.58738
 0.873873  0.905662  0.488774  0.285788  0.578745

要找到最小值及其索引的元素,有一个函数findmin()

In [ ]:
(min, idx) = findmin(A)
Out[0]:
(0.10827560798274083, CartesianIndex(1, 3))

现在工作区中有两个变量。在这种情况下,变量很小。不过,有些函数返回的结果会占用更多内存。因此,要忽略函数的输出,可以在参数列表的任意位置使用 tilde 运算符。在我们的示例中,只能输出最小值的索引。

In [ ]:
(~, idx) = findmin(A)
Out[0]:
(0.10827560798274083, CartesianIndex(1, 3))

使用转折运算符可以忽略任意数量的函数输出。也可以输出函数的前 N 个输出数据,忽略所有其他输出数据。在本例中,我们可以获取函数的最小值,而无需索引。因此,只会创建一个变量。

In [ ]:
minA = findmin(A)
Out[0]:
(0.10827560798274083, CartesianIndex(1, 3))

输出

在本文中,我们学习了如何使用转折符 (~) 减少某些函数中变量的输出。