Сказка работы скриптового модуля...

Anything and all.

Moderators: Murderator+, Murderator

Post Reply
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Сказка работы скриптового модуля...

Post by Grin »

Code: Select all

sub fun_false()
   uo.print("fun_false")
   return 0
end sub
sub fun_true()
   uo.print("fun_true")
   return 1
end sub
sub test()
   uo.print("while false and true")
   while fun_false() and fun_true()
      uo.print("Yes")
   wend
   uo.print("while true and false")
   while fun_false() and fun_true()
      uo.print("Yes")
   wend
   uo.print("while false and false")
   while fun_false() and fun_false()
      uo.print("Yes")
   wend
end sub

Предлагаю проанализировать выше предложеный скрипт;) Ваши мысли?;)
Destruction
Junior Expert
Posts: 3221
Joined: 2004-06-24 22:08:56

Post by Destruction »

Моя мысль, что если хоть один из циклов вдруг заработает, то его никто не остановит..

Проверить не на чем, хоть сказал бы, какой результат от выполнения такого скрипта..
YokoInjection CodeSweeper
Function not found?
Possession of mathematics at the level of art - a gift that is only available for election.
Sorry for my clumsy English.
Telegram: @tatikom
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

проблема в обработки условий. а именно что сначала вы полняется все что на писано в условии а потом только идет проверка на результат. тоесть если будет конструкция

Code: Select all

while (j < len(subStr)) and (Source[i+j] == subStr[j])
j = j+1
wend

то мы волей не волей создаем условие выхода за границу массаива subStr, так как будет отработано subStr[len(subStr)]. Ничего хорошего в общем... В трезвых компилятора такая ситуация не возможна.
Mihail
Expert!
Posts: 548
Joined: 2005-05-20 20:30:10
Contact:

Post by Mihail »

имхо проблема не столько компилятора, сколько языка..
инжектовский бейсик высокоуровневый язык как-никак поэтому и допускает вообще существование таких страшных конструкций...
Grin
Expert!
Posts: 2580
Joined: 2005-05-04 14:05:19
Location: Москва

Post by Grin »

Причем тут это???? Тут нарушена логика выполнения дерева в логических операторах!
Post Reply