robitex” post=80088Ciao,
una delle nuove possibilità offerte dal kernel di LaTeX3 è quella delle liste di proprietà, esempio:
`
% nuova lista di proprietà
\prop_new:N \g_val_prop% inserimento valori
\prop_put:Nnn \g_val_prop { numsal } { 3 }
\prop_put:Nnn \g_val_prop { implav } { 12819.01 }
\prop_put:Nnn \g_val_prop { impsic } { 0.00 }
\prop_put:Nnn \g_val_prop { rib } { 25.151 }\NewDocumentCommand{ \getdata }{ m }
{
\prop_get:Nn \g_val_prop { #1 }
}
`Cercando tra le funzioni non ne ho trovato una che a partire da una lista chiave=valore inserisse i dati.
Per capirci un comando tipo questo, per ottenere lo stesso risultato del codice precedente:
`
\setdata{numsal = 3,
implav = 12819.01,
impsic = 0.00,
rib = 25.151,}
`Come si potrebbe fare?
Lo scopo è quello di eseguire calcoli con l3fp con i valori salvati nella proprietà.
Grazie
R.
Dipende molto da che tipo di applicazione hai in mente. Se ti serve solo una lista con solo quelle quattro proprietà, meglio usare direttamente quattro token list o addirittura variabili fp:
`\keys_define:nn { robitex }
{
numsal .fp_set:N = \g_robitex_numsal_fp,
implav .fp_set:N = \g_robitex_implav_fp,
impsic .fp_set:N = \g_robitex_impsic_fp,
rib .fp_set:N = \g_robitex_rb_fp,
}
\NewDocumentCommand{\setdata}{ m } { \keys_set:nn { robitex } { #1 } }`
Ciao
Enrico