Jump to content

[ТУТ] 5. Примеры Lua, подробное объяснение


Recommended Posts

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

Вместо print будет outputChatBox для того чтобы всё это протестить в мта.

1 пример.

  
x = 10                -- Глобальная переменная x=10 
do                    -- Блок 
   local x = x         --  новая локальная переменная "х", равна значению 10 
       outputChatBox(x)   -- печатаем 10 
       x = x+1  --  -- прибавляем к глобальной перемнной "х" +1 
       do                  -- ещё один блок 
         local x = x+1     -- прибавляем к локальной перемнной "х" +1 
         outputChatBox(x)  -- печатаем 12 
       end -- конец 2 блока 
       outputChatBox(x)   -- печатаем 11 
end -- конец 1 блока 
outputChatBox(x)  -- 10 Первая глобальная 
  

2 пример.

  
a = {} -- делаем пустую таблицу 
local x = 20  -- Локальная переменная х  = 20 
for i=1,10 do  --Считаем i = от 1 до 10 
local y = 0  -- локальная переменная y = 0 
a[i] = function () y=y+1; return x+y end -- a[i] функция , глобальная переменная y = y+1 , возвращаем (складываем x+y) 
outputChatBox(x+y) -- Печатаем число 20 
end   -- конец 
  

3.пример

  
local tb = {  {10,5,2},{20,15,12} }  -- создамем локальную переменную на числа  10,5,2 и 2 строку на числа 20,15,12 
  
do   -- блок 
 local g = 20 -- локальная переменная g = 20 
   local th = g*tb[1][1] -- th локальная переменная , локальную переменную g умножаем на tb число 10 из таблицы (1 строку , 1 колонке).  
    local ts = outputChatBox(th) -- печатаем  локальную переменную th с числом 200 
end  -- конец блока 
  

4. пример (пошаговый) довольно простой может кому нужно (подправлено)

  
c = 2 ; a = 1 -- глобальная переменная c = 2 и a = 1 
b,d = c,a  -- глобальные переменные a и c теперь b и d 
f = b*d-1  -- глобальная переменная f равна глобальная переменной b умножаем на глобальную переменную d  и вычитаем 1 
outputChatBox(f) -- печатаем 1  
  

4.пример (короткий) возможно такой будет понятнее.

  
c = 2; a = 1; b,d = c,a; f = b*d-1; outputChatBox(f) --  глобальная переменная c = 2 и a = 1 , глобальные переменные a и c теперь b и d , глобальная переменная f равна глобальной переменной b умножаем на глобальную переменную d  и вычитаем 1 ,  печатаем 1  
  

5.пример

  
local th = 1 --  локальная переменная th = 1 
local tx = 3 --  локальная переменная tx = 3 
  
addCommandHandler("test",function() -- команда test функция 
if th > 0 and tx < 5 then  -- если th больше 0 то норм и если tx меньше 5 то проходит 
  local tz = 10/2*5-2+2  --локальная переменная tz = 10/2*5-2+2 
   return outputChatBox(tz); -- возвращаем число 25 
  else outputChatBox("не подходит!")  -- если число 1 и 3 не подошли то пишем что не подходит! 
 end  -- конец if`ов  
end -- конец  
) -- закрываем скобку  
  

6.пример от юзера Mx Master

  
a = 1; b = 2; c = 3 
a, b, c  = c, b, a -- обмен значениями без дополнительных переменных 
  

Если ещё у кого-нибудь есть примеры пишите сюда.

Edited by Guest
Link to comment
a = 1; b = 2; c = 3 
a, b, c  = c, b, a -- обмен значениями без дополнительных переменных 

(: кстати, у тебя эти примеры даже для меня не сразу были понятны, в основном дело в корявых отступах

Link to comment
a = 1; b = 2; c = 3 
a, b, c  = c, b, a -- обмен значениями без дополнительных переменных 

(: кстати, у тебя эти примеры даже для меня не сразу были понятны, в основном дело в корявых отступах

Всё подправил. :)

Link to comment
Чё подправил-то? Отступы такие же ровные и остались (((: ..

вот сморю я на эти примеры и на название темы, плакать хочется ):

я не понимаю про какие отступы ты имеешь ввиду?

Добавлено:

всё врубил что ты имелл ввиду. :D

Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...