Vlákno názorů k článku Programovací jazyk Lua v aplikacích II od anonym - hodilo by se zminit minusovou notaci zasobnikoveho indexu,...

  • Článek je starý, nové názory již nelze přidávat.
  • 22. 4. 2009 19:21

    anonymní
    hodilo by se zminit minusovou notaci zasobnikoveho indexu, -1 je top, -2 druhy zvrchu atd.
    jenom kosmetika, navratovy typ tonumber funkce je lua_Number a tointeger lua_Integer (ten nevim jestli je v luaconf.h, ale asi to nebude typedef jenom tak ze srandy).
  • 22. 4. 2009 21:28

    Pavel Tišnovský
    Zlatý podporovatel
    Diky za upozorneni a doplneni, ty indexy pri pristupu do zasobniku jsou opravdu "do zaporu", v podstate podobne, jako u klasickeho ramce zasobniku (stack frame) na x86.

    Zminovany lua_integer je v luaconf.h zadefinovan jako:

    #define LUA_INTEGER ptrdiff_t

    coz je zajimave, protoze to IMHO nektere prekladace povazuji za int a nektere za long (mam na mysli 32bitove prostredi). V podstate ale nevadi, kdyz bude LUA_INTEGER typu long, jen je nutne mit na pameti, ze pri prevodu na double se ztraci nejnizsi bity, coz v nekterych pripadech muze prekvapit (od urcite hodnoty napriklad plati a==a+1 a podobna uskali doublu).