Sostituzione di parole: metodo replace()

Uno schema di frase con degli spazi da riempire, e due array da cui scegliere a caso le parole da inserire: ogni esecuzione produce una frase diversa con la stessa struttura.

    function setup() {
    let aggettivi = ["tenero", "ardente", "dolce", "timido", "catastale"];
    let sostantivi = ["desiderio", "respiro", "sogno", "cuore", "duodeno"];
    let schema = "Sei il mio [aggettivo] [sostantivo].";

    createCanvas( 670, 120 );
    background( 255 );
    textSize( 36 );

    let frase = schema.replace( "[aggettivo]", random( aggettivi ) );
    frase = frase.replace( "[sostantivo]", random( sostantivi ) );
    text( frase, 20, 72 );
}
  

Algoritmo

partire dallo schema di frase
sostituire il primo segnaposto con un aggettivo preso a caso     replace()
sostituire il secondo segnaposto con un sostantivo preso a caso  replace()
disegnare la frase ottenuta

Istruzioni


  

Crea una nuova stringa a partire da schema, sostituendo "[aggettivo]" con una parola scelta a caso. La stringa schema non cambia.


  

Sostituisce anche "[sostantivo]" nella stringa appena creata e assegna il risultato sempre a frase, che perde il suo vecchio contenuto.

Il metodo replace() sostituisce solo la prima occorrenza. Per sostituirle tutte con la stessa parola esiste il metodo replaceAll().

Variazioni

Con un array di schemi, e random( schemi ) al posto di schema, ogni esecuzione può seguire una struttura diversa.