Что нового

[Массивы] Из функции вернуть несколько значений

Mr. Anderson

Новичок
Сообщения
122
Репутация
4
Есть функция:
Код:
Func RemoveTrig($var)		;Функция переносящая влево тригонометрическую часть и вправо остальную v0.02
	$var1 = $var
    $trig_part_start = StringInStr($var1, "sin");Находим позицию откуда начинается синус
    $trig_part_end = StringInStr($var1, ")")    ;И где заканчивается
    $trig_part_col = $trig_part_end - $trig_part_start + 1
    $trig_part = StringMid($var1, $trig_part_start, $trig_part_col)
	$trig_right = InputBox("Введите правую часть уравнения. ", $trig_part & " = ... из " & $var)
	$trig[1] = $trig_part
	$trig[2] = $trig_right
	Return $trig
EndFunc


Как видите пытаюсь из нее вернуть массив. Вызываю:
Код:
$trig_ur = RemoveTrig($var1)
		MsgBox(0, "Test", $trig_ur[1])


Функция выполняется, это точно, а вот MsgBox даже не появляется
 

kaster

Мой Аватар, он лучший самый
Команда форума
Глобальный модератор
Сообщения
4,020
Репутация
626
Mr. Anderson
Объяви массив который ты пытаешься вернуть внутри функции. По всей видимости, массив состоит из двух элементов, значит максимальный индекс у него будет 1.
Код:
Func RemoveTrig($var)       ;Функция переносящая влево тригонометрическую часть и вправо остальную v0.02
    $var1 = $var
    Local $trig[2]; Массив из двух элементов
    $trig_part_start = StringInStr($var1, "sin");Находим позицию откуда начинается синус
    $trig_part_end = StringInStr($var1, ")")    ;И где заканчивается
    $trig_part_col = $trig_part_end - $trig_part_start + 1
    $trig_part = StringMid($var1, $trig_part_start, $trig_part_col)
    $trig_right = InputBox("Введите правую часть уравнения. ", $trig_part & " = ... из " & $var)
    $trig[0] = $trig_part
    $trig[1] = $trig_right; Максимальный индекс 1
    Return $trig
EndFunc

И после этого уже смотри в MsgBox'е возвращаемое значение
Код:
$trig_ur = RemoveTrig($var1)
MsgBox(0, "Test", $trig_ur[0])
 
Верх