Discussioni modulo:String: differenze tra le versioni

Contenuto cancellato Contenuto aggiunto
m Riscrivo esempio con Template:Infobox per preservare la resa grafica in vista di passaggio a TemplateStyles.
 
(29 versioni intermedie di 10 utenti non mostrate)
Riga 5:
::Se è possibile, anche mettere direttamente nella classe "sinottico" uno stile compatto per le liste. Così si avrebbe dappertutto indipendentemente se sono liste fatte con arraytostring o a mano. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 22:50, 3 mar 2015 (CET)
:::Un primo test di fattibilità - però se qualcuno con più esperienza in css di me ci desse un'occhiata lo preferirei.--[[Utente:Moroboshi|Moroboshi]] <sup>[[Discussioni utente:Moroboshi|scrivimi]]</sup> 21:34, 4 mar 2015 (CET)
{{Infobox
{|class="sinottico"
|TitoloInt = Liste non ordinate compatte
|-class="sinottico_testata"
!|Nome1 = Unordered list "compattata"standard
! class="sinottico_testata" colspan=2| Liste non ordinate compatte
|<ulValore1 style="margin-left:0.6em;margin-top:0px;" <ul><li>elemento 1</li><li>elemento 2</li><li>elemento 3</li><li>elemento 4 occupa più di una riga</li></ul>
|-
!|Nome2 = Unordered list standard"compattata"
|Valore2 = <ul style="margin-left:0.6em;margin-top:0px;"><li>elemento 1</li><li>elemento 2</li><li>elemento 3</li><li>elemento 4 occupa più di una riga</li></ul>
!|Nome3 = Senza unordered list usando • e {{tag|br|s}}
|-
|Valore3 = •&#32;elemento 1</br>•&#32;elemento 2</br>•&#32;elemento 3</br>•&#32;elemento 4 occupa più di una riga
!Unordered list "compattata"
|}}
|<ul style="margin-left:0.6em;margin-top:0px;"><li>elemento 1</li><li>elemento 2</li><li>elemento 3</li><li>elemento 4 occupa più di una riga</li></ul>
|-
!Senza unordered list usando • e {{tag|br|s}}
|•&#32;elemento 1</br>•&#32;elemento 2</br>•&#32;elemento 3</br>•&#32;elemento 4 occupa più di una riga
|}
::::Neanch'io sono esperto di CSS, ma la proprietà per cambiare il pallino dovrebbe essere [http://www.w3schools.com/cssref/pr_list-style-image.asp list-style-image]. Non posso fare una prova al volo perché le proprietà con immagini non funzionano in linea. La skin Monobook ad esempio usa [[:File:Bullet.png]], Vector usa [[:File:Vector-bullet-icon.png]], qui potremmo usare [[:File:Middot.png]] --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 15:19, 5 mar 2015 (CET)
Ho fatto un po' di prove e secondo me può andar bene aggiungere questo al CSS:
Line 32 ⟶ 28:
== arraytostring ==
 
Potrebbe essere utile avere sempre a disposizione, sotto forma di un <ttkbd>$qualcosa</ttkbd>, anche il numero dell'iterazione in corso (l'indice del "for", per intenderci). Al momento in [[Template:Box successione]] mi sarebbe utile per fare tutte quelle chiamate a <nowiki>{{Box successione/Altro}}</nowiki>, che necessitano del parametro N --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 13:02, 4 giu 2015 (CEST)
:Andrebbe bene se si usa l'n+1 parametro ? ho messo un test in sandbox, eventualmente lo carico stasera. <nowiki>{{Utente:Moroboshi/test|A|B|C}}</nowiki>
 
Line 89 ⟶ 85:
:::::::::Bene, ho usato decode in [[t:Treccani]] e ha già corretto un centinaio di riferimenti.
:::::::::Per gli elenchi di caratteri ti aiutavo se me lo dicevi prima... --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 13:00, 4 dic 2015 (CET)
::::::::::Non è per quello è per la frustrazione che non ci sia un metodo più pulito di una catena di sostituzioni. <strikes>Comunque ho caricato le tabelle ma c'è qualcosa che non funziona nei test, non tratta correttamente "Tōgō Heihachirō" o "Rolf Løvland" non mi</strikes> Mentre scrivevo mi è venuta l'illuminazione e ho corretto l'errore (odio la sintassi del Lua).--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:28, 5 dic 2015 (CET)
:::::::::::Prove sempre in [[Discussioni_modulo:String/test]].--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 14:29, 5 dic 2015 (CET)
::::::::::::Ho provato a utilizzarlo per l'ordinamento in [[t:Brano musicale]] e sembra tutto a posto (es. [[À quoi ça sert l'amour]])--[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 20:05, 5 dic 2015 (CET)
Line 102 ⟶ 98:
::@Bultro Bastava copiare [[Modulo:String/sandbox]] su [[Modulo:String]], o viceversa, e usare "Mostra modifiche" per vedere che erano un po' diversi, oppure conoscere un po' la programmazione per vedere che in Modulo:String non c'era alcuna funzione _collate, e neppure str.collate con stringa come argomento. Sistemo. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 16:19, 22 gen 2016 (CET)
:::@Moroboshi era solo l'argomento di str.collate. Vedi tu se fare una funzione separata _collate come avevi fatto nella sandbox (che pare più recente, del 15 dicembre) o meno. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 16:36, 22 gen 2016 (CET)
::::Evidentemente non conosco la programmazione, specialmente quando non è fatta da me, ma grazie per avercelo fatto notare. --[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 14:16, 23 gen 2016 (CET)
:::::In effetti dovresti fare più attenzione, se questo può servire a farti usare le sandbox, a usare i moduli di test, a chiedere ad altri più esperti, ben venga. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 14:24, 23 gen 2016 (CET)
 
== Frame ==
 
Sbaglio o tutte queste meraviglie non sono utilizzabili da un modulo allo stato attuale? Bisognerebbe generalizzarlo con la nostra "convenzione" <code>str.match(frame)</code> + <code>str._match(args)</code> giusto? --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 20:20, 5 giu 2017 (CEST)
: {{Fatto}} {{Diff|88276071}} Ho generalizzato il <code>match(frame)</code> aggiungendo <code>_match(args)</code> per chiamata diretta dal modulo. --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 21:11, 5 giu 2017 (CEST)
:: ...sebbene spesso (come nel mio caso) è sufficiente <code>[[mw:Extension:Scribunto/Lua reference manual#mw.ustring.match|mw.ustring.match]]</code>. --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 01:41, 6 giu 2017 (CEST)
::::Beh, da modulo lua è meglio usare le funzioni dirette, queste sono in generale per poter essere usate in template mediawiki.--[[Utente:Moroboshi|<span style="color:#800000;font-weight: bold;">Moroboshi</span>]]<sup> [[Discussioni utente:Moroboshi|scrivimi]]</sup> 06:44, 6 giu 2017 (CEST)
::::: Sìsì, meglio quelle dirette O:) Avevo però dubbi che fossero direttamente interscambiabili :D --[[Utente:Valerio Bozzolan|Valerio Bozzolan]] ([[Discussioni utente:Valerio Bozzolan|msg]]) 09:38, 6 giu 2017 (CEST)
 
== Limitazione ==
 
Segnalo che se si sceglie di non far considerare il pattern come una stringa normale, Lua ignora le sequenze che iniziano per backslash. Esempio con \n:
{{Colonne}}
<code><nowiki>{{#invoke:String|replace|test
 
test|\n|OK||false}}</nowiki></code>
{{Colonne spezza}}
{{#invoke:String|replace|test
 
test|\n|OK||false}}
{{Colonne spezza}}
<code><nowiki>{{#invoke:String|replace|\n|\n|OK||false}}</nowiki></code>
{{Colonne spezza}}
{{#invoke:String|replace|\n|\n|OK||false}}
{{Colonne fine}}
Per Lua quel \n inserito equivale a \\n. Vale la pena aggiungere un controllo per validare queste sequenze oppure no?--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 00:51, 8 nov 2017 (CET)
: @Sakretsu Attualmente se volessi sostiture tutti i "\n" di una stringa con "OK" cosa usi? Non è che è Lua che ignora le sequenze di backslash, se ho capito cosa intendevi con la frase, è che nella funzione str.replace la variabile pattern giunge a contenere '\\n' invece di '\n'. Se impostassi nel codice la variabile pattern a '\n' la sostituzione avverrebbe correttamente. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 13:14, 8 nov 2017 (CET)
::Certo, Lua ignora le sequenze di backslash se passate tramite parametro, non se scritte nel codice. Il punto è che %a ecc. sono considerate valide, \n ecc. no. Praticamente se il parametro plain è impostato su false dovremmo controllare la presenza di "\\n" ecc. per convertirli in \n.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 13:27, 8 nov 2017 (CET)
:::A me non è mai capitato di dover sostituire dei newline del wikitesto, quindi non me sono mai accorto, ma non dovrebbe essere documentata questa trasformazione di "\n" in "\\n" quando poi letti tramite frame.args? Non ce n'è traccia in [[mw:Extension:Scribunto/Lua_reference_manual]]. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 13:35, 8 nov 2017 (CET)
::::È venuta fuori come idea [[Wikipedia:Bar/Discussioni/Passaggio_da_Tidy_a_RemexHTML:_c'è_del_lavoro_da_fare#Cn|qui]] per gli errori HTML del template {{tl|Chiarimento}}. Stavo considerando se fosse sufficiente l'uso di String, ma mi pare di no. Comunque mentre testavo ho notato l'anomalia e ho pensato che fosse almeno il caso di segnalarla. Poi se valga la pena di fare qualcosa, appunto non saprei.--[[Utente:Sakretsu|Sakretsu]] ([[Discussioni utente:Sakretsu|炸裂]]) 13:52, 8 nov 2017 (CET)
Bene che sia venuto fuori, lo esemplifico con:
<source lang="lua">
local p = {}
function p.main(frame)
return frame.args[1] == '\\n'
end
return p
</source>
Questo modulo (e.g. Example) restituisce "true", quando invocato con <code><nowiki>{{#invoke:Example|main|\n}}</nowiki></code>, cosa che mi aspetterei fosse documentata, altrimenti non si capisce se è una feature o un bug. --[[Utente:Rotpunkt|Rotpunkt]] ([[Discussioni utente:Rotpunkt|msg]]) 14:06, 8 nov 2017 (CET)
 
== Refuso ==
 
Non potendo correggere io stesso, segnalo che nella sezione [[Modulo:String#Chiamata_delle_funzioni]], primo paragrafo, l'ultima parola prima dei due punti è "stringe" ma ovviamente dovrebbe essere "string'''h'''e".--[[Utente:Wedhro|Wedhro]] ([[Discussioni utente:Wedhro|msg]]) 11:20, 12 gen 2019 (CET)
: Scusate, come non detto, dimenticavo che le istruzioni sono in una sottopagina modificabile.--[[Utente:Wedhro|Wedhro]] ([[Discussioni utente:Wedhro|msg]]) 11:22, 12 gen 2019 (CET)
 
== Check IP ==
 
{{ping|Moroboshi}} in merito a [https://it.wikipedia.org/w/index.php?title=Modulo%3AString&type=revision&diff=105679030&oldid=100978823 questa aggiunta], sappi che esiste [[Modulo:IP validator|questo modulo]] che scrissi tempo fa (e [[Discussioni modulo:IP validator/test|relativi test]]). --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 12:32, 18 giu 2019 (CEST)
:Ho rimosso la funzione in oggetto. --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 15:13, 22 lug 2020 (CEST)
 
== Count ==
 
Hello, è possibile aggiungere la funzione "count" di modulo di enwiki?--[[Utente:Bouzinac|Bouzinac]] ([[Discussioni utente:Bouzinac|msg]]) 15:14, 26 mar 2021 (CET)
 
== Uso di template come entry point ==
 
{{ping|Bultro|Sakretsu}} C'è qualche motivo tecnico per cui non sono mai stati creati dei template di appoggio per le funzioni definite in questo modulo? Ad es. sarebbe più utile scrivere <code><nowiki>{{urldecode|%28}}</nowiki></code> anziché <code><nowiki>{{#invoke:String|decode|%28}}</nowiki></code>. --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 13:44, 4 mar 2024 (CET)
:Alcuni sono stati creati. Quel che c'è in teoria dovrebbe essere in [[:Categoria:Template per la manipolazione delle stringhe]]--[[Utente:Bultro|Bultro]] ([[Discussioni utente:Bultro|m]]) 00:20, 5 mar 2024 (CET)
::Ah ok, non lo ricordavo. Grazie! --[[User:Horcrux|Horcrux]] ([[User talk:Horcrux|msg]]) 09:19, 5 mar 2024 (CET)
Ritorna alla pagina "String".