Yoko
http://forum.yoko.com.ua/

Как вернуть из функции несколько значений?
http://forum.yoko.com.ua/viewtopic.php?f=3&t=13952
Page 1 of 1

Author:  Millerbeer [ 2008-09-13 17:13:13 ]
Post subject:  Как вернуть из функции несколько значений?

Если я хочу, чтобы функция вернула мне несколько параметров, могу я в этой функции запихнуть эти параметры в массив и воткнуть в скрипте команду
Code:
Return massiv
, а в вызывающей функции проинициализировать массив и присвоить ему значение вызываемой функции? И если я не могу так сделать, то как мне вернуть членораздельно из функции несколько параметров, что б вызывающая функция знала где чего? Вот...

Author:  Grin [ 2008-09-13 19:48:34 ]
Post subject: 

в параметрах передавай массив, он же утебя будет использоватся для результата. Масив в параметрах передаются по ссылке, новый экземпляр не делается.

Author:  Millerbeer [ 2008-09-13 21:39:46 ]
Post subject:  re

А можно уточнить, я правильно понял или нет? Допустим имеется скрипт
Code:
   sub MyScript()
      dim MyMassiv[3]#инициализируем в вызывающем скрипте массив
      MyMassiv=MyFunction(MyMassiv)#присваиваем значения массиву,вызывая функцию, от которой нам #надо получить несколько параметров, передавая ей этот же массив в качестве входного параметра
      endsub

# а вот собсно и функция
     sub MyFunction(MyMassiv)
        MyMassiv[0]=1
        MyMassiv[1]=5
        MyMassiv[2]=-37 #присваиваем элементам массива значения
        Return MyMassiv #возвращаем массив с элементами в качестве         выходого параметра
    endsub

Author:  Destruction [ 2008-09-13 21:47:08 ]
Post subject: 

Есть такой древний топик..

http://yoko.ultimasoft.ru/viewtopic.php?t=9894

:roll:

Author:  Millerbeer [ 2008-09-13 22:17:27 ]
Post subject: 

Дестр, мысль интересная, но там все удивляются, в том числе и ты, почему это работает? :) В общем я понял, чтоб не париться с массивами, если я хочу получить от функции несколько выходных параметров, нужно ввести входной контрольный параметр, а вызываемая функция проверяет, чего ей пихнули на вход, и отдаёт по нему что надо на выход. :lol: Несколько путанно, но думаю, понять можно...

Author:  Millerbeer [ 2008-09-13 22:20:04 ]
Post subject: 

полиморфизм ёпт :lol: :lol: :lol:

Author:  Grin [ 2008-09-13 23:20:54 ]
Post subject: 

Передается ссылка, нет смысла потом что то возвращать. Изменя массив внутри функции, изменения в реал тайме отрадаются на переданном...

Поповоду клонирования масивов, надо смотреть что в итоге получится
или 1 масив с 2 именами или 2 масива

Author:  Millerbeer [ 2008-09-14 02:03:44 ]
Post subject: 

Ага, ага, ясно, наконец-то дошло! :) Спасибо, Грин, спасибо, Дестр!

Author:  Millerbeer [ 2008-09-14 03:40:39 ]
Post subject: 

А ещё такой вопрос: Может массив состоять из переменных разного типа? Пример:
Code:
Dim Massiv[3]
Massiv[0]=1
Massiv[1]='something'
Massiv[2]=-0.000377
Такой массив в инже корректен?

Author:  Destruction [ 2008-09-14 04:38:37 ]
Post subject: 

Корректен.

Page 1 of 1 All times are UTC+02:00
Powered by phpBB® Forum Software © phpBB Limited
https://www.phpbb.com/