Funktion zum Abrufen mehrerer Sonderzuweisungen in einem Lua-Code

Funktion zum Abrufen mehrerer Sonderzuweisungen in einem Lua-Code

Vorausgesetzt, die folgenden Zuweisungen a = z.a etc.sind korrekt, ist es möglich, isosie mithilfe einer Funktion abzurufen. Ich habe an den Namen „iso“ gedacht, weil in meinem Hauptcode aein Punkt ist, z.aein Affix, das den Punkt darstellt.

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{tkz-euclide}
\usepackage{tkz-elements}

\begin{document}
\parindent = 0pt
\begin{elements}
z.a   = {5,2}
z.b   = {3,-2}
z.c   = {4,0}

-- instead of a = z.a b = z.b c = z.c
__ is it possible to do iso() with
-- function iso ()
--      for i,k in pairs(z) do
--          ????
--       end
-- end
\end{elements}

\end{document}

Antwort1

Sie können auf die globale Symboltabelle zugreifen _G, aber ich würde es hier nicht empfehlen

% !TEX TS-program = lualatex
\documentclass{article}
\usepackage{luacode}
\begin{document}
\parindent = 0pt
\begin{luacode}
z={}
z.a   = {5,2}
z.b   = {3,-2}
z.c   = {4,0}
z["a'"] ={2,4}

-- instead of a = z.a b = z.b c = z.c



function iso ()
for i,k in pairs(z) do
 _G[i]=k
 end
end

iso()
\end{luacode}


% look at variable b

(\directlua{tex.print(b[1])},\directlua{tex.print(b[2])})


\end{document}

verwandte Informationen