Permutazioni in pratica

Le permutazioni mescolano. Le enumerazioni scelgono. La maggior parte della varietà reale di un template scritto bene nasce dalle permutazioni — non dall’impilare sinonimi. Questa guida copre la sintassi, le regole dei separatori e il pattern che quasi tutti si perdono: gli elenchi seriali nei titoli e nelle intestazioni.

Permutazione semplice

[a|b|c]

Comportamento predefinito:

  • entrano tutti gli elementi;
  • l’ordine viene mescolato a ogni render;
  • il separatore è un singolo spazio.

Esempi di output: a b c, c a b, b c a.

Scorciatoia con separatore unico

Per impostare il separatore (e lastsep) in un colpo solo:

[< and >a|b|c]

Output possibili: a and b and c, c and a and b. La scorciatoia assegna la stessa stringa sia a sep sia a lastsep, quindi tutte le giunzioni si somigliano.

Configurazione completa

La forma estesa dà il controllo totale:

[<minsize=2;maxsize=4;sep=", ";lastsep=" and ">a|b|c|d|e]

Regole:

  • minsize — numero minimo di elementi da emettere;
  • maxsize — numero massimo di elementi da emettere;
  • sep — unisce tutti gli elementi tranne l’ultima coppia;
  • lastsep — unisce gli ultimi due elementi (per un naturale «A, B and C»).

Omettete una delle due dimensioni e l’altra si completa da sé:

  • solo minsize impostato → maxsize diventa «tutti quelli disponibili»;
  • solo maxsize impostato → minsize diventa 1;
  • entrambi maggiori del numero di elementi → vengono ridotti al totale;
  • il motore non può scegliere zero elementi. Per «forse nessun elenco», avvolgete la permutazione in un ramo vuoto (vedi sotto).

Separatori per elemento

Se vi serve più precisione di un sep/lastsep globale, un singolo elemento può portare il proprio separatore:

[<, >Visa|Mastercard < and >|Skrill]

Qui:

  • il separatore globale è ", ";
  • l’elemento dopo Mastercard porta il proprio separatore locale " and ".

I separatori per elemento sono rari, ma utili quando un punto preciso chiede un connettivo diverso.

Spaziatura automatica dei separatori

I separatori fatti di parole ricevono automaticamente uno spazio su entrambi i lati:

[<and>a|b|c]

si comporta come:

a and b and c

I separatori di punteggiatura non vengono spaziati automaticamente:

[<,>a|b|c]

produce:

a,b,c

Se volete uno spazio dopo la virgola, scrivetelo esplicitamente: [<, >a|b|c].

Elenchi opzionali

Dato che una permutazione non può emettere zero elementi, il modo per rendere un elenco «forse assente» è avvolgere l’intera permutazione in un ramo di enumerazione vuoto:

{|[<minsize=2;maxsize=3;sep=", ";lastsep=" and ">Postgres|Redis|Kafka|MongoDB]}

Output possibili: Postgres and Redis, Kafka, Postgres and Redis, oppure una stringa vuota. Ricordatevi degli spazi attorno — tenete lo spazio dentro il ramo quando l’elenco può sparire.

Elenchi seriali in titoli, descrizioni e intestazioni

Questo è il pattern che quasi tutti si perdono. Titoli e intestazioni H2/H3 spesso promettono più temi paralleli:

Benefits, Integrations, and How to Get Started

Quella non è una stringa congelata — è un elenco di tre blocchi di titolo paralleli. Riconoscete il pattern e scrivetelo come permutazione:

[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]

Bene, dentro una cornice di intestazione con uno spazio per il marchio:

%product_name%: [<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]

Male:

%product_name%: {Benefits, Integrations, and How to Get Started|A Complete Guide for Teams}

Perché la seconda forma è più debole:

  • tratta un elenco strutturato come un’unica stringa congelata;
  • perde il pattern di separatori che il motore già offre;
  • spinge il modello verso l’alternanza di stringhe intere invece che verso una struttura riutilizzabile;
  • produce una manciata di varianti dove una permutazione ne produrrebbe decine.

Usate il pattern dell’elenco seriale per:

  • titoli che elencano tre o più promesse;
  • meta description che nominano più blocchi dell’articolo;
  • intestazioni H1/H2/H3 che elencano temi di sezione paralleli.

Non usatelo quando la sequenza è una procedura e deve restare in ordine:

Create an account, verify email, and make a deposit

Quella è una sequenza di passi, non un elenco di titolo liberamente permutabile.

Le maiuscole delle intestazioni sono a mano

La regola abituale per il corpo del testo dice che gli elementi di una permutazione iniziano in minuscolo, perché il post-processing mette la maiuscola a inizio frase.

Quella regola non vale per le intestazioni seriali in stile titolo. Ogni elemento deve già essere scritto nelle maiuscole con cui verrà mostrato:

[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">Benefits|Integrations|How to Get Started]

e non:

[<minsize=3;maxsize=3;sep=", ";lastsep=", and ">benefits|integrations|how to get started]

Il post-processing non convertirà per voi un elenco di titolo separato da virgole in title case.

Errori frequenti con le permutazioni

Da evitarePerchéDa fare invece
Fissare nel codice un elenco di 4+ elementiL’ordine fisso diventa un’impronta su tutti i render.Usare una permutazione, anche con minsize=maxsize se l’insieme è obbligatorio.
Congelare un titolo seriale in un’unica stringaPerde il pattern dei separatori e riduce drasticamente lo spazio delle varianti.Emetterlo come permutazione con sep e lastsep.
Usare minsize=0Il motore riduce il minimo a 1: vi ritrovate con un’aspettativa rotta in silenzio.Avvolgere l’elenco in {|[...]} per «forse nessun elenco».
Chiudere gli elementi con un punto mentre sep=". "Punteggiatura doppia: "fact. . next fact".Lasciare la punteggiatura al separatore; gli elementi restano nudi.
Aggiungere spazi ai separatori-parola che il motore già spaziaRende aandb perché avete risolto un problema inesistente.Fidatevi della spaziatura automatica; aggiungete spazi solo con la punteggiatura.
Scrivere gli elementi con maiuscole misteIl testo reso ha una capitalizzazione dall’aria casuale.Minuscolo nel corpo, title case nelle intestazioni. Coerente dentro una permutazione.
Fare di ogni elemento una frase intera con soggetto proprioIl flusso seriale si rompe — ogni elemento si legge come un paragrafo nuovo.Tenere gli elementi a livello di sintagma; legare il soggetto fuori dalla permutazione.

Checklist delle permutazioni

  • Ogni elenco di 3+ elementi è una permutazione, non una stringa congelata.
  • Gli elenchi seriali in titoli e intestazioni usano permutazioni con sep/lastsep espliciti.
  • Gli elenchi opzionali sono avvolti in {|[...]}, non tentati con minsize=0.
  • Gli elementi non finiscono con punteggiatura che il separatore fornisce già.
  • Le permutazioni di intestazione sono scritte nelle maiuscole di visualizzazione.
  • Le permutazioni del corpo iniziano in minuscolo quando il post-processing capitalizza.
  • Tutti gli elementi di una permutazione sono grammaticalmente paralleli tra loro.

Con la struttura a posto, resta un ultimo passaggio: la grammatica, in sinonimizzazione senza rompere la grammaticaEN.


Continua la serie