• Subject: Delphi/Lua -- tutor again
• From: Jilani Khaldi <jilani.khaldi1@...>
• Date: Fri, 30 Jun 2006 19:55:59 +0200

```Hi All,
well, this is the next step:
having  the lua function:
function sum_tab(tab)
local sum
sum = 0
for i = 1,table.getn(tab) do
sum = sum + tab[i]
end
return sum
end

and the delphi procedure:
procedure set_mytable(L: Plua_State; a: array of double); cdecl;
which calls "sum_tab(tab)" lua function, passing to it the array of doubles.
```
Now my question is how to implement this and a delphi function to read the result (sum) calculated by the lua function.
```
I have tried writing (translating) this code from C, but I failed :-(
procedure set_mytable(L: lua_State; a: array of double); cdecl;
var
i, count: integer;
begin
lua_newtable(L);
count := 0;
for i := 0 to high(a) do
begin
inc(count);
lua_pushnumber(L, i);   //* Push the table index */
lua_pushnumber(L, i*2); //* Push the cell value */
lua_rawset(L, -3);      //* Stores the pair in the table */
end;
// "n" and contains the total number of elements in the table.
lua_pushliteral(L, 'n');        //* Pushes the literal */
lua_pushnumber(L, count-1);       //* Pushes the total number of cells */
lua_rawset(L, -3);              //* Stores the pair in the table */
// By which name is the script going to reference our table ? */
lua_setglobal(L, 'tab');
lua_pcall(L, 0, LUA_MULTRET, 0);
lua_pop(L, 1);
end;

Any hint is welcome.
Thank you.

jk

```