LUA > Állapot nélküli iterátor > rt_cache-ből származó ip-k decimális pontossá alakítása

Feladat:

Az rt_cache-ből származó hex alakú ip-k decimálissá alakítása. Érdekesség, hogy az rt_cache-ben fordítva van az ip.

Teszt:


   Be: 0100007f
   Ki: 127.0.0.1

Megvalósítás:

Az általános for ciklust használom. Az általános for ciklus nagy előnye lua-ban, hogy egy generátor függvényt(olyan függvény, ami függvényt ad vissza) hív meg a ciklusban.

 Szintaxis: for k,v in func(akarmi) do 

Ahhoz hogy a k és v értékek elérhetőek legyenek a generált függvénynek vissza kell ezeket adnia. Példánkban az srev függvény visszad egy függvényt, a bemenetét és a ciklusváltozó kezdeti értékét. Tulajdonképpen az ált. for ciklus-nak ez az "interfésze": minden egyes ciklusban meghívja a kapott ciklusfüggvényt, a visszaadott bemenettel és a módosított ciklusváltozóval. A meghívott ciklusfüggvénynek is vannak megkötései: addig hívódik meg, amíg visszaad valamilyen értéket és ezek az értékek másolódnak a k és v változóba.
Lehet kicsit túlbonyolítottam. Még lehet átírom.

Hozzászólások

Ertheto a forditott sorrent, network-byte-order.
--


()=() Ki oda vagyik,
('Y') hol szall a galamb
C . C elszalasztja a
()_() kincset itt alant.