LINUX.ORG.RU

История изменений

Исправление LINUX-ORG-RU, (текущая версия) :

:D ⋆⁺₊⋆ ☾⋆⁺₊⋆

local dict =
{
    {name = 'Земля',    parent = nil},
    {name = 'Евразия',  parent = 1  },
    {name = 'Китай',    parent = 2  },
    {name = 'Пекин',    parent = 3  },
    {name = 'Австралия',parent = 1  },
    {name = 'Сидней',   parent = 5  }
};

function dict:get(id)
    while(self[id].parent) do
         id=self[id].parent;
         print(self[id].name);
    end
end

print("--------");
dict:get(4);
print("--------");
dict:get(6); 
dron@gnu:~$ lua lua.lua 
--------
Китай
Евразия
Земля
--------
Австралия
Земля
dron@gnu:~$

Исправление LINUX-ORG-RU, :

:D

local dict =
{
    {name = 'Земля',    parent = nil},
    {name = 'Евразия',  parent = 1  },
    {name = 'Китай',    parent = 2  },
    {name = 'Пекин',    parent = 3  },
    {name = 'Австралия',parent = 1  },
    {name = 'Сидней',   parent = 5  }
};

function dict:get(id)
    while(self[id].parent) do
         id=self[id].parent;
         print(self[id].name);
    end
end

print("--------");
dict:get(4);
print("--------");
dict:get(6); 
dron@gnu:~$ lua lua.lua 
--------
Китай
Евразия
Земля
--------
Австралия
Земля
dron@gnu:~$

Исходная версия LINUX-ORG-RU, :

local dict =
{
    {name = 'Земля',    parent = nil},
    {name = 'Евразия',  parent = 1  },
    {name = 'Китай',    parent = 2  },
    {name = 'Пекин',    parent = 3  },
    {name = 'Австралия',parent = 1  },
    {name = 'Сидней',   parent = 5  }
};

function dict:get(id)
    while(self[id].parent) do
         id=self[id].parent;
         print(self[id].name);
    end
end

print("--------");
dict:get(4);
print("--------");
dict:get(6); 
dron@gnu:~$ lua lua.lua 
--------
Китай
Евразия
Земля
--------
Австралия
Земля
dron@gnu:~$