Функция для получения нескольких специальных назначений в коде 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}

Связанный контент