- Questo topic ha 0 risposte, 1 partecipante ed è stato aggiornato l'ultima volta 8 anni, 9 mesi fa da .
-
Topic
-
Discussione dal canale Telegram
#cosaapparira Episodio #2
`
% !TeX program = LuaTeX% Cosa apparirà – Episodio 2
% perché il codice funziona nonostante la funzione sia
% definita senza alcun argomento all'interno della macro \applyfn?% definizione della macro
\def\applyfn#1#2{%
\directlua{
local args = {#2}
local fn = function ()
#1
end
tex.sprint(fn())
}}$ \log(12)+10 = \applyfn{return math.log(args.x)+10}{x = 12} $
$ 3^4 = \applyfn{return args.base^args.exp}{base = 3, exp = 4} $
An uppercase word: \applyfn{return args.s:upper()}{s = [[Home]]}.
A more elaborated example:
$ |-1| = \applyfn{
if args.x < 0 then return -args.x else return args.x end }{x = -1}$ Last but not least... $ 16! = \applyfn{ local fact = 1 for i = 1, args.n do fact = fact * i end return fact }{n = 16}$ \bye ` La domanda: Perché il codice funziona nonostante la funzione sia definita senza alcun argomento all'interno della macro \applyfn? Bye!
- Devi essere connesso per rispondere a questo topic.