Discussioni modulo:Font to span: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
Re
Moroboshi (discussione | contributi)
r
Riga 7:
Se trova il valore <code>size</code> nella tabella allora assegna <code>stab[size]</code>, se non lo trova allora <code>stab[size]</code> ritorna <code>nil</code> e allora viene valutata la seconda parte dell'istruzione e riassegna. ha il vantaggio che se modifichi la tabella <code>stab</code> non devi modificare il confronto per controllare se la chiave è valida. Stasera butto un occhio se mi viene in mente altro.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:14, 4 set 2017 (CEST)
::{{ping|Moroboshi}} Ciao, grazie mille per l'aiuto. Credo di aver capito l'idea e provvedo con la correzione. L'importante è che vada a ricercare il valore nella tabella solo se <code>size</code> è un numero da 1 a 7, che non sia seguito da nulla: ad esempio se fosse <code>5 px</code> dovrebbe lasciarlo com'è; ma a quanto mi sembra di capire dovrebbe comportarsi esattamente così. A margine: la tabella in teoria non va più modificata, il font accetta come size un numero da 1 a 7 e le dimensioni corrispondenti in px sono quelle, frutto di test super-scientifici effettuati in sandbox (confronto con occhiometro). Grazie ancora --[[Utente:Daimona Eaytoy|<span style="color:#696969;font-weight:bold;font-family:Segoe Print">Daimona Eaytoy</span>]] [[Discussioni Utente:Daimona Eaytoy|<span style="color:#000000;font-size:small;font-family:cursive, serif;">(Scrivimi!)</span>]] 14:21, 4 set 2017 (CEST)
:::Esatto si basa su due elementi:
:::*quando cerchi una chiave in una tabella Lua ritorna <code>nil</code> se non la trova,
:::*Le operazioni logiche sono valutate da sx a dx e sono ''lazy'', cioè una volta che la funzione è sicuramente vera o sicuramente falsa ritorna il valore dell'ultimo operando.
:::Quindi se il primo operando dell<nowiki>'</nowiki>''or'' è vero non procede oltre e ritorna il valore dell'operando (in questo caso <code>stab[size]</code>), se è falso prosegue con l<nowiki>'</nowiki>''or'' e ritorna la seconda parte dell<nowiki>'</nowiki>''or'' (in questo caso il valore originale di <code>size</code>). Si deve comunque fare il controllo <code>if size~=nil</code> perchè se <code>size</code> fosse ''nil'' allora tentare <code>stab[size]</code> genererebbe un errore.
:::C'è anche una libreria ([https://www.mediawiki.org/wiki/Extension:Scribunto/Lua_reference_manual#HTML_library mw.html]) per semplificare la generazione di codice html, ma dovrei vedere come applicarla a questo caso.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:46, 4 set 2017 (CEST)
Ritorna alla pagina "Font to span".