Yoko

All sides of Injection
It is currently 2026-01-16 12:13:03

All times are UTC+02:00




Post new topic  Reply to topic  [ 3 posts ] 
Author Message
PostPosted: 2004-07-10 18:47:15 
Offline

Joined: 2004-04-26 00:36:26
Posts: 45
Вобщем такай скриптик:

Code:
sub test()
   var x = 0
   var y = 0
   while not (x == 3)
      x = x + 1
      y = y + 1
      uo.print(str(x) + str(y))
      mySubA(x, y)
   wend
end sub

sub mySubA(x, y)
   x = x + 1
   y = y + 1
   uo.print(str(x) + str(y))
   mySubB(x, y)
end sub

sub mySubB(x, y)
   x = x + 1
   y = y + 1
   uo.print(str(x) + str(y))
end sub


Выдаёт такой результат:

11
22
33
22
33
44
33
44
55

Получается что эти переменные в каждой процедуре локальные, и не изменяют переменные X, Y в процедуре тест ?

Так и должно быть ?

Значит мне надо использовать глобальные переменные что бы изменить значение переменной в под-процедуре ?


Top
   
 Post subject:
PostPosted: 2004-07-11 10:39:58 
Offline
Site Admin
User avatar

Joined: 2004-04-03 16:49:38
Posts: 1964
почему такой мутный тестовый пример??
неужели такого тебе было не достаточно?
Code:
sub main()
 var x=10
  myproc(x)
 uo.print(x)
end sub

sub myproc(x)
 x=777
end sub


Если ты откроешь документацию по любому языку программирования, особенно по Бейсику с которого дрался синтакс скриптового модуля, то узнаешь о том что при передаче параметров без посредства указателей или специальной нотации функциям передаются КОПИИ параметров.
Это связано например с тем что если бы было иначе и ты вызвал бы myproc(1+2) то возникла бы критичесеская ошибка.

Я не читал всю инструкцию от автора скриптового модуля, если есть время скачай и прочти. Но передачи по указателю и т.п. и даже глобальных переменных я там не видел, поэтому и сделал сначала Get/[yhlp_SetEasyUO] потом Get/[yhlp_SetGlobal].


Top
   
 Post subject:
PostPosted: 2004-07-11 17:57:14 
Offline

Joined: 2004-04-26 00:36:26
Posts: 45
Пример такой дал потому что у меня в другом скрипте немного схожая тема.

Раз передаются только копии переменных, значить сделаю немного по другому. :)


Top
   
Display posts from previous:  Sort by  
Post new topic  Reply to topic  [ 3 posts ] 

All times are UTC+02:00


Who is online

Users browsing this forum: No registered users and 1 guest


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Limited