Шукати в цьому блозі

Macro Functions, Константи

Щоб сторити константу треба присвоїти їй значення:

pi @ 3.14  
print(pi)

Константу неможна змінити як змінну.


  • Писвоїти константі функцію


sum @ |print(1+1)|

  • Передати в  макрофункцію аргументи  (...)  поернути значення  (return )


sum@(|
local t=...
return t[1]+ t[2]
|)
print(sum(1,2)  --    те саме що  1+2=3




  • Перерахування


 
enum @ (|
 local t = ...
 local r = {}
 for i = 1, #t, 2 do
  table.insert(r, t[i] .. " @ " .. i // 2 + 1)
 end
 print(table.concat(r, " "))
 return table.concat(r, " ")
|)
 
enum(apple, orange, melon)
print(apple, orange, melon) --> 1 2 3

  • Вимкнути команду print

print @ (| return "" |)


  • цикли


dotimes @ (|
 local times = table.remove(..., 1)
 return (table.concat(..., " ").." "):rep(times)
|)
 
local t = {}
 dotimes(10 print "Boom!")--10 разів напише Boom! в консоль

Немає коментарів:

Дописати коментар