- Questo topic ha 1 risposta, 2 partecipanti ed è stato aggiornato l'ultima volta 15 anni fa da .
-
Topic
-
Ciao a tutti.E’ una domanda che riguarda più Lua che LuaTeX, comunque riporto il seguente esempio
`
% !TEX encoding = UTF-8
% !TEX program = LuaLaTeX
\documentclass{report}\def\pr#1{\directlua{tex.print(tostring(#1))}}
\parindent=0pt
\begin{document}
\directlua{
A = {a = {1,2,3},
b = {4,5,6}}
B = A
B.b[1] =99X = 10
Y = X
Y = 2
}
$\texttt{B.b[1]}=\pr{B.b[1]}$%$\texttt{A.b[1]}=\pr{A.b[1]}$
Come mai? Sembra che copi i “puntatori” e non la tabella, infatti:
\begin{description}
\item\pr{B}
\item[A]\pr{A}
\end{description}
sono %
\directlua{
if tostring(A)==tostring(B) then
tex.print(“uguali.”)
else
tex.print(“diversi.”)
end
}Invece se le variabili sono scalari, \pr{Y} uguale a \pr{X}. Va bene.
\end{document}
`Come posso copiare la struttura A in un’altra variabile in modo che se modifico quest’ultima, non mi alteri anche l’originale?
Grazie
Michele
- Devi essere connesso per rispondere a questo topic.