Айнымалылар, тармақталу, цикл
num = 42 -- Барлық сандар өзгермелі нүктелермен.
s = 'walternate' – Python-да секілді өзгермейтін жолдар.
t = "double-quotes are also fine"
t = nil – t-ны жою; Lua-да қоқыс жинағыш бар.
-- Цикл осындай түрде жазылады(міндетті түрде do/end):
while num < 50 do num = num + 1
-- ++ және – операторлары жоқ.
end
-- Шарты оператор мысалы (міндетті түрде then/end):
if num > 40 then
print('over 40')
elseif s ~= 'walternate' then -- ~= тең емес дегенді білдіреді.
-- Теңдік осындай белгімен тексеріледі ==
-- == операторы жолдарды салыстыруға келеді.
io.write('not over 40\n') – Стандартты шығару
else
--Барлық айнымалылар үнсіздік бойынша ауқымды.
thisIsGlobal = 5
-- Жергілікті айнымалы құру жолы:
local line = io.read() –Тексттің келесі жолын оқу
- Біріктіру оператор арқылы жүзеге асырылады ..:
print('Winter is coming, ' .. line)
end
Анықталмаған айнымалылар nil қайтарады. Келесі жол қате туғызбайды:
foo = anUnknownVariable -- Енді foo nil-ге тең.
aBoolValue = false
Тек nil және false false-ты қайтарады; 0 және '' true-ды қайтарады!
if not aBoolValue then print('twas false') end
Си тілінен a?b операция аналогы:c Си-ден:
ans = aBoolValue and 'yes' or 'no' --> 'no'
Цикл for: karlSum = 0 for i = 1, 100 do – Шекаралар қосылады (1 и 100).
karlSum = karlSum + i
end
Циклде артқа жылжу үшін «100,1, -1» (алдымен біз қайдан бастаймыз, содан кейін қай мәнге барамыз және қадамы):
fredSum = 0
for j = 100, 1, -1 do
fredSum = fredSum + j
end
Цикл жазудың басқа жолы:
repeat
print('the way of the future')
num = num - 1
until num == 0
Функциялар
function fib(n)
if n < 2 then return 1 end
return fib(n - 2) + fib(n - 1)
end
-- Функция бірнеше мән қайтара алады:
function bar(a, b, c)
print(a, b, c)
return 4, 8, 15, 16, 23, 42
end
x, y = bar('zaphod')
-- "zaphod nil nil" шығарады.
Енді x = 4, y = 8, қалған мәндер (15..42) еленбейді. Функциялар жергілікті және ауқымды болуы мүмкін. Функцияны бір параметрмен шақырғанда, жақшалар міндетті емес:
print 'hello' -- қатесіз жұмыс істейді.
Достарыңызбен бөлісу: |