forum.boolean.name

forum.boolean.name (http://forum.boolean.name/index.php)
-   2D-программирование (http://forum.boolean.name/forumdisplay.php?f=13)
-   -   как вывести из функции более 1-ой переменной (http://forum.boolean.name/showthread.php?t=5838)

CRASHER 03.03.2008 04:17

как вывести из функции более 1-ой переменной
 
Извеняюсь за возможно глупый вопрос:-)
недоганю никак, как же вывести из функции 2-е или более переменных.
Это через массивы делается или как:4to: ? Я просто даж в поиске незнаю как это написать:-D

FDsagizi 03.03.2008 10:06

Ответ: как вывести из функции более 1-ой переменной
 
Бтенька это блиц 3Д.
Глобальной;)

HolyDel 03.03.2008 11:08

Ответ: как вывести из функции более 1-ой переменной
 
можно и через массивы. они тоже глобальные.
можно так

Type TSomeFunc
field a,b
filed f#
field s$
end Type

function SomeFunc.TSomeFunc(a)
tmp.TSomeFunc = new TSomeFunc
tmp\a=a
tmp\b=a*2
tmp\f=3.14*a
tmp\s="Vasia Pupkins"
return tmp
end function

применять так:

где то в коде...

a.TSomeFunc = SomeFunc(12)
дальше применять a\a,a\b,a\f,a\s и так далее
delete a

ЗЫ. писалось в браузере и придумывалось на ходу, могут быть ошибки

impersonalis 03.03.2008 15:02

Ответ: как вывести из функции более 1-ой переменной
 
можно пихать в строку, отделяя элементы подстрокой-сепаратором, а на выходе использовать парсер.

CRASHER 03.03.2008 15:51

Ответ: как вывести из функции более 1-ой переменной
 
FDsagizi,кажись не всегда это выход, но вобщет в моём случае надо над этим помозговать :)

impersonalis, это как? недагоню никак:)

HolyDel, благодарю:), ошибок вроде нет, но вобщет кончно через типы как то грамоздко,ну раз выхода иного нет придётся принаравливаться.

И вот ещё никак немогу понять что значат такие выражения List(x,y) где List и не функция и не массив?

HolyDel 03.03.2008 15:57

Ответ: как вывести из функции более 1-ой переменной
 
Цитата:

И вот ещё никак немогу понять что значат такие выражения List(x,y) где List и не функция и не массив?
ошибку.

Цитата:

это как? недагоню никак
это значит что ф-ия должна возвращать что то типа:
"12:22:Белый-Волк.ГЫ-ГЫ:12.435"
тут четыре значения разделенные символом двоеточия. в любом случае по получению значения от ф-ии придется писать еще какой либо код чтобы получить отдельные элементы.

moka 03.03.2008 16:39

Ответ: как вывести из функции более 1-ой переменной
 
Можно Банками.

CRASHER 03.03.2008 17:00

Ответ: как вывести из функции более 1-ой переменной
 
спасибо всем :) , я получил основные понятия по этому вопросу, буду юзать, пробовать ;)

PS Честно признаться я расчитывал на что то вроде return x y и.т.д:-D

impersonalis 03.03.2008 17:42

Ответ: как вывести из функции более 1-ой переменной
 
Цитата:

Сообщение от CRASHER (Сообщение 78600)
Честно признаться я расчитывал на что то вроде return x y и.т.д:-D

а на выходе? :4to:

moka 03.03.2008 18:09

Ответ: как вывести из функции более 1-ой переменной
 
Ну логически посуди, на примере функции CameraPick, как ты присваивая переменной типа float, несколько значений, тут же нету типов переменных, таких как int3 или float4, тут только одинарные типы данных.
Поэтому для этой функции были придуманны ещё 7: PickedX, PickedNZ, PickedEntity и т.д. и т.п.
Тоесть, при вызове CameraPick, в конце функции к нескольким переменным присваиваются значения, а при вызове этих функций, мы просто получаем эти переменные.
Если пишешь сам, тогда тут проще: просто присваиваешь переменным (глобальным), а после вызова функции юзаешь их.

HolyDel 03.03.2008 18:11

Ответ: как вывести из функции более 1-ой переменной
 
Цитата:

а на выходе?
наверное что то вроде:
x,y = GetPss(10)
желал увидеть ;)

CRASHER 03.03.2008 18:41

Ответ: как вывести из функции более 1-ой переменной
 
HolyDel, ты считал мои мысли:-D , что то наподобе;)
ALL
но этоже были дагадки, и потом я в это особо не верил, так как уж слишком просто :)

CRASHER 03.03.2008 18:57

Ответ: как вывести из функции более 1-ой переменной
 
У меня тут в памяти всплыло: где то я видел, прям вот видел Return u v:4to:
Тока непомню где.И вабще мож это у меня глюк был:-D


Часовой пояс GMT +4, время: 11:20.

vBulletin® Version 3.6.5.
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Перевод: zCarot