在lua代码中获取多个特殊赋值的函数

在lua代码中获取多个特殊赋值的函数

假设以下赋值a = z.a etc.是正确的,是否可以使用函数iso来获取它们。我想到“iso”这个名字是因为在我的主代码中a是一个点,z.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}

相关内容