كيف يمكنني إنشاء جدول في لوا ، ثم إضافة قيم من C API؟

StackOverflow https://stackoverflow.com/questions/4220748

  •  26-09-2019
  •  | 
  •  

سؤال

إليك ما لدي حتى الآن ... إنه يخلق جدولًا عالميًا يسمى "MOD" ، لكن لا يمكنني إضافة فهارس إلى الجدول ...

lua_newtable(L);
lua_setglobal(L,"mod");
هل كانت مفيدة؟

المحلول

ال كتيب يقول:

void lua_setfield (lua_State *L, int index, const char *k);

هل يعادل t[k] = v, ، أين t هي القيمة في الفهرس الصحيح المعطى و v هي القيمة في الجزء العلوي من المكدس.

هذه الوظيفة تنبثق القيمة من المكدس.

لذا ، بدقة أكثر: ادفع كل ما تريد إضافته على المكدس ، ثم اتصل lua_setfield. علي سبيل المثال:

lua_pushnumber( L, 42 );
lua_setfield( L, -2, "answer_to_life_universe_and_rest" )

هذا يدرج الحقل "applon_to_life ..." مع القيمة 42 في الجدول.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top