Zaloguj się by uzyskać pełen dostęp. Nie masz jeszcze konta? Założ je już teraz w kilka sekund.

Wysłany: 2014-07-23, 22:47


zabijaka2000







Wiek: 26
Na forum: 4983 dni
Posty: 147
Nick w MP: aleks556

Piwa: 13

Respekt: 80

Ostrzeżeń: 20%
Cze??, co robi i w p?tli?
Przyk?ad:
for iv in ipairs(postacie) do

Z tego co wiem to "i " nazywa si? index, tylko nie wiem co to robi. :D

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-23, 22:50


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Mo?esz tam da? nawet for Cos,Wartosc [...] to dzia?a jak zmienna. Pierwsza najcz?sciej odpowiada za liczb? np :


gui = {}

gui[1] = guiCreateWindow[...]
gui[2] = guiCreateWindow[...]


for liczba_ in ipairs gui ) do
    guiSetVisible gui[liczba], true )
end


Gdy damy tak :


gui = {}

gui[1] = guiCreateWindow[...]
gui[2] = guiCreateWindow[...]


for liczba_ in ipairs gui ) do
    outputChatBox liczba )
end



Na chacie wywali nam po kolei :

1

2

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-23, 23:11


Tey







Wiek: 31
Na forum: 4876 dni
Posty: 155
Nick w MP: l0nger

Piwa: 280

Respekt: 193
Respekt: 193Respekt: 193

Emm, nazwa zmiennej jest zwykle zapisywana wed?ug jakiej? tam notacji.
Standardem jest to, ?e i oznacza index, za? v oznacza value - warto??.
Pos?u?my si? przyk?adem poni?ej:

local t={
 [1]="test 1",
 [2]="test 2",
 [3]="test 3",
 [4]="test 4",
 [5]="test 5",
 -- [index]=value
}

for i,v in pairs(t) do
 print(v)
end

Widzimy tabel?, p?tle i printa. Sp?jrzmy na pierwsza cz??? tego kodu tj. deklaracje tabeli. W kwadratowych nawiasach jest umieszczony numerek i jest to nic innego jak indeks danego wiersza, kolumny czy jak kto tam woli...

Wywo?anie tej tabeli w p?tli z funkcja pairs da nam wynik:

test 5
test 1
test 2
test 3
test 4

Funkcja pairs zawsze bierze ostatni wiersz wrzuca go do stosu, po kolejnej iteracji bierze ten pierwszy, drugi i tak, a? dojedzie do przedostatniego indeksu...

Funkcj? ipairs otrzymamy wynik:

test 1
test 2
test 3
test 4
test 5

Ipairs nie jest jednak zalecan? funkcja szczeg?lnie przeze mnie.
Poniewa? ta funkcja sprawdza wszystkie indeksy, kt?re s? przedstawione w postaci liczbowej. Pairs nie ma tego sprawdzania w zwi?zku z czym jest szybsza i wydajniejsza o 30 w por?wnaniu do ipairs.

Wracaj?c, deklaruj?c zmienn? I (skr?t od indeks) odwo?ujemy si? do samych indeks?w - tych zapisanych w kwadratowych nawiasach.
Za? deklaruj?c V (skr?t od value) odwo?ujemy si? do przypisanej warto?ci - w tej sytuacji jest przypisany string (?a?cuch znak?w).

Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-23, 23:19


MeeShuffle

Programista/Grafik






Wiek: 32
Na forum: 4394 dni
Posty: 2758
Nick w MP: Shuffle

Piwa: 8575

Respekt: 535,3
Respekt: 535,3

Chyba, ?e chodzi Ci o for i = 1,100 ?
Je?li tak to jest to p?tla z ograniczonym u?yciem. U?yje j? 100 razy.


addCommandHandler "czysc", function()
for 1,15 do
outputChatBox " "root )
end)


Popularna cmd "czysc".

Podpis

https://shufflecode.pl
Static Codes and Graphics - Join our discord!
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-24, 00:26


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Tak na prawd? to programi?ci Lua nie stosuj? poj?cia "index", a "klucz". Ot taki wybryk.

Cz?sto mo?na si? spotka? z czym? takim:

for k,v in ipairs(tablica) do


k - klucz od s?owa 'key'
v - warto?? od s?owa 'value'

Niby bzdura ale my?l?, ?e warto napisa?. W miejsce 'tablica' wrzucasz oczywi?cie zmienn? tablicow? (czyli po prostu tablic?). Oczywi?cie w miejscu 'k' oraz 'v' mo?esz wpisa? w?asne s?owa b?d? litery. Dodam, ?e je?eli nie potrzebujecie np. klucza b?d? warto?ci warto waln?? tam znak pod?ogi '_' co zmniejszy nieco zaj?to?? pami?ci. Warto mie? to na uwadze jak pisze si? ogromne GMy ;) .

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-24, 00:33


zabijaka2000







Wiek: 26
Na forum: 4983 dni
Posty: 147
Nick w MP: aleks556

Piwa: 13

Respekt: 80

Ostrzeżeń: 20%
Czyli pierwsza warto?? w p?tli "key" zwr?ci mi ilo?? danych w tabeli?

Podpis
San Fierro Stories Roleplay
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-24, 07:14


Piorun







Wiek: 32
Na forum: 6712 dni
Posty: 1837
Nick w MP: Piorun

Piwa: 516

Respekt: 480,7
Respekt: 480,7

Nie. Je?eli chcesz uzyska? ilo?? element?w w tablicy przed nazw? zmiennej tablicowej umie?? 'hash'. Przyk?ad:


tab = {10,20,30,40}

print(#tab) -- wy?wietli nam liczb? 4


P?tla s?u?y po to, by wykona? pewn? czynno?? par? razy. Key w p?tli s?u?y do tego, by ka?dy element poszczeg?lny jako? identyfikowa?. Dla powy?szego przyk?adu klucze b?d? 4 (z racji tego i? w tablicy znajduj? si? 4 elementy) kolejno: 1,2,3,4 (pierwszy element w tablicy, drugi element w tablicy ...). Najlepiej zrozumiesz to tworz?c sobie prosty skrypt, kt?ry wy?wietli Ci te klucze. Czyli np.:

for k,v in ipairs(tab) do
print(.. " " .. v)
end


Kod lua mo?esz przetestowa? (bez funkcji MTA) tutaj: http://www.lua.org/demo.html

Podpis
Możesz mnie znaleźć na: Facebook
Postaw piwo autorowi tego posta
 

 
Wysłany: 2014-07-24, 09:00


zabijaka2000







Wiek: 26
Na forum: 4983 dni
Posty: 147
Nick w MP: aleks556

Piwa: 13

Respekt: 80

Ostrzeżeń: 20%
Dzi?ki Piorun, teraz wiem jak zrobi? wybieranie postaci. :D

Podpis
San Fierro Stories Roleplay
Postaw piwo autorowi tego posta
 

 
Tagi: petla :: for
Anonymous





Na forum: 245 dni
Posty: 1



Anonymous Koniecznie zajrzyj na:






Skocz do:  
Wyświetl posty z ostatnich:   
GTAONLINE.PL » JĘZYKI PROGRAMOWANIA » LUA » petla for Ten temat jest zablokowany bez możliwości zmiany postów lub pisania odpowiedzi

Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Dodaj temat do Ulubionych
Wersja do druku