lua05(2).pdf

(530 KB) Pobierz
Tabele słabe
Moduły
Biblioteki
Kurs j ezyka Lua
Wykład 05
J ezyk Lua – tabele słabe, moduły, biblioteki
Kornel Kisielewicz
Instytut Informatyki
Uniwersytet Wrocławski
18-11-2010 / Wykład 05
university-logo
994471527.061.png 994471527.071.png 994471527.082.png 994471527.092.png 994471527.001.png 994471527.012.png 994471527.015.png 994471527.016.png 994471527.017.png 994471527.018.png 994471527.019.png 994471527.020.png 994471527.021.png 994471527.022.png 994471527.023.png 994471527.024.png 994471527.025.png 994471527.026.png 994471527.027.png 994471527.028.png 994471527.029.png 994471527.030.png 994471527.031.png
 
Tabele słabe
Moduły
Biblioteki
Spis tresci
Tabele słabe
Tabele słabe
Memoizacja
Jeszcze raz wartosci domyslne
1
Moduły
Moduły
Proste podejscie
Prywatnosc
Moduły a nazwy plików
Uzycie tabeli globalnych
Inne pomysły
2
Biblioteki
math
table
string
3
university-logo
994471527.032.png 994471527.033.png 994471527.034.png 994471527.035.png 994471527.036.png 994471527.037.png 994471527.038.png 994471527.039.png 994471527.040.png 994471527.041.png 994471527.042.png 994471527.043.png 994471527.044.png 994471527.045.png 994471527.046.png 994471527.047.png 994471527.048.png 994471527.049.png
 
Tabele słabe
Moduły
Biblioteki
Spis tresci
Tabele słabe
Tabele słabe
Memoizacja
Jeszcze raz wartosci domyslne
1
Moduły
Moduły
Proste podejscie
Prywatnosc
Moduły a nazwy plików
Uzycie tabeli globalnych
Inne pomysły
2
Biblioteki
math
table
string
3
university-logo
994471527.050.png 994471527.051.png 994471527.052.png 994471527.053.png 994471527.054.png 994471527.055.png 994471527.056.png 994471527.057.png 994471527.058.png 994471527.059.png 994471527.060.png 994471527.062.png 994471527.063.png 994471527.064.png 994471527.065.png 994471527.066.png 994471527.067.png 994471527.068.png
 
Tabele słabe
Moduły
Biblioteki
Tabele słabe
Tabele słabe
Tabele słabe
a = {}
b = {}
setmetatable (a, b)
b.__mode = "k"
-- teraz ’a’ ma słabe klucze ("v"!)
key = {}
-- tworzy pierwszy klucz (tabela/funkcja)
a[key] = 1
key = {}
-- tworzy kolejny klucz
a[key] = 2
collectgarbage() -- wymusza odsmiecenie
for k, v inpairs (a) doprint (v) end
university-logo
994471527.069.png 994471527.070.png 994471527.072.png 994471527.073.png 994471527.074.png 994471527.075.png 994471527.076.png 994471527.077.png 994471527.078.png 994471527.079.png 994471527.080.png 994471527.081.png 994471527.083.png 994471527.084.png 994471527.085.png 994471527.086.png 994471527.087.png 994471527.088.png 994471527.089.png 994471527.090.png 994471527.091.png
 
Tabele słabe
Moduły
Biblioteki
Memoizacja
Memoizacja
Memoizacja - case
-- zdalne odpalanie funkcji
local results = {}
function mem_loadstring (s)
if results[s] then -- skompilowana?
return results[s]
-- uzyj j a
else
local res = loadstring(s)
-- skompiluj od nowa
results[s] = res
-- zachowaj
return res
end
end
university-logo
994471527.093.png 994471527.094.png 994471527.095.png 994471527.096.png 994471527.097.png 994471527.098.png 994471527.099.png 994471527.100.png 994471527.101.png 994471527.102.png 994471527.002.png 994471527.003.png 994471527.004.png 994471527.005.png 994471527.006.png 994471527.007.png 994471527.008.png 994471527.009.png 994471527.010.png 994471527.011.png 994471527.013.png 994471527.014.png
 
Zgłoś jeśli naruszono regulamin