Lua skriptvariable mit c api füllen



  • Moin,
    So ganz bin ich nicht sicher ob ich im richtigen aunterforum bin aber ich find den thread schon wieder...

    Frage:
    Angenommen ich habe ein lua script das ca so aussieht:

    global X
    print X
    

    Was muss ich c-seitig tun um nach dem luaL_loadfile() die Variablen X mit einem String zu füllen?

    Ich guck da schon nen paar Tage ins spec und verstehe momentan an der Organisation des Stacks nicht wirklich was 😞 ich werd alt..



  • Dieser Thread wurde von Moderator/in SeppJ aus dem Forum C (alle ISO-Standards) in das Forum Rund um die Programmierung verschoben.

    Im Zweifelsfall bitte auch folgende Hinweise beachten:
    C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?

    Dieses Posting wurde automatisch erzeugt.



  • Ich habe es erst jetzt gesehen:
    Was für ein lua benutzt du denn? global gibt es nicht, genausowenig der Syntax, den du hier zeigst.
    Du kannst Funktionen ohne Klammern nur mit einem String oder einem table aufrufen, nicht mit einer variable.

    Angenommen also, dein Skript würde korrekterweise so aussehen:

    print(x)
    

    dann könntest du mit Hilfe der API-Funktion lua_setglobal das gewünschte erreichen.
    http://www.lua.org/manual/5.3/manual.html#lua_setglobal

    Deine Frage ist ansonsten etwas ungenau. Was verstehst du am Stack nicht und was hat das alles mit luaL_loadfile zu tun?

    Annahme: du möchtest gerne das Skript per loadfile laden, dann die Variable setzen und dann das Skript ausführen? Das klingt umständlich.
    Falls du es aber trotzdem so machen möchtest, kann ich dir nicht weiterhelfen, in welcher Reihenfolge du das tun musst. Einfach mal ausprobieren.


Anmelden zum Antworten