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

Передача массива в функцию
http://forum.yoko.com.ua/viewtopic.php?f=3&t=5178
Page 1 of 1

Author:  Mamoru [ 2005-09-15 10:09:08 ]
Post subject:  Передача массива в функцию

Добрый день.
Прочитал в своё время в описании инжы следующее:
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом.
Сделал пару пробных скриптов, и... забыл нахрен!

Выручайте!
конструкция типа
sub main()
DIM mass[10]
...
funk(mass[1])
...
end sub

sub funk(mass[1])
mass[1]=5
...
end sub

Грубо говоря менял элемент массива mass изнутри функции
Начисто забыл синтаксис.
Помогите хлопцы, плз!

Author:  PCGamer [ 2005-09-15 11:30:14 ]
Post subject:  Re: Передача массива в функцию

Mamoru wrote:
Добрый день.
Прочитал в своё время в описании инжы следующее:
Массивы можно передавать в качестве параметров функциям. При этом передается САМ массив, а не его копия!!!. Т.е. все действия внутри функции над элементами массива будут производиться над первоначальным массивом.
Сделал пару пробных скриптов, и... забыл нахрен!

Выручайте!
конструкция типа
sub main()
DIM mass[10]
...
funk(mass[1])
...
end sub

sub funk(mass[1])
mass[1]=5
...
end sub

Грубо говоря менял элемент массива mass изнутри функции
Начисто забыл синтаксис.
Помогите хлопцы, плз!


Ты забыл написать чего ты хочешь и в чём загвоздка :D

Author:  Mamoru [ 2005-09-15 11:36:11 ]
Post subject: 

нужно менять элемент массива, обьявленного в main
менять его внутри процедуры, вызываемой из main.

Author:  Sfagnum [ 2005-09-15 15:00:58 ]
Post subject: 

Mamoru wrote:
нужно менять элемент массива, обьявленного в main
менять его внутри процедуры, вызываемой из main.
а что тебе собственно мешает его там менять? религия не позволяет? и синтаксис чего ты забыл?

Author:  Solaire [ 2005-09-15 15:03:58 ]
Post subject: 

Если передашь в функцию сам массив (
Code:
funk(mass)
), то меняй что хочешь, возвращать ничего не надо будет. Массив изменится везде.
Если передаешь элемент массива, то передаешь его как переменную. То есть внутри той функции надо будет дать ему имя как переменной (вместо записи
Code:
sub funk(mass[1])
надо будет что-то вроде
Code:
sub funk(m)
), и потом значение этой переменной надо будет вернуть.

Author:  Mamoru [ 2005-09-15 16:07:04 ]
Post subject: 

Всё, разобрался! Спасибо за внимание. :)

Code:
sub ggg()
dim mass[10]
mass[1]="start"
uo.print(mass[1])
ttt(mass)
uo.print(mass[1])
end sub
sub ttt(mass)
mass[1]="chenged"
uo.print(mass[1])
end sub

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