Игнорирование выходных данных функций
Данный пример показывает, как не учитывать некоторые выходные данные функции, используя оператор тильда (~).
Допустим у нас есть некоторый массив данных. Нам необходимо найти элемент с минимальным значением и его индекс.
A = rand(5,5)
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()
.
(min, idx) = findmin(A)
(0.10827560798274083, CartesianIndex(1, 3))
Теперь в рабочей области есть две пременные. В этом случае переменные небольшие. Однако некоторые функции возвращают результаты, которые потребляют гораздо больше памяти. Поэтому для того, чтобы игнорировать выходные данные функции, в любой позиции списка аргумента используйте оператор тильды. В нашем примере можно вывести только индекс минимального значения.
(~, idx) = findmin(A)
(0.10827560798274083, CartesianIndex(1, 3))
Вы можете игнорировать любое количество выходных данных функции, используя оператор тильды. А также можно вывести первые N выходных данных функции и игнорировать все остальные выходные данные. В нашем случае можем получить минимальное значение функции без индекса. Таким образом, будет создана только одна переменная.
minA = findmin(A)
(0.10827560798274083, CartesianIndex(1, 3))