Lua コードで複数の特別な割り当てを取得する関数

Lua コードで複数の特別な割り当てを取得する関数

次の割り当てa = z.a etc.が正しいと仮定すると、関数を使用してそれらを取得することは可能ですか。メイン コードではがポイントであり、がポイントを表す接尾辞であるisoため、「iso」という名前を考えました。az.a

% !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}

答え1

グローバルシンボルテーブルにアクセスすることもできます_Gが、ここではお勧めしません。

% !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}

関連情報