Advertisement
fcamuso

Javascript Lezione 74

Sep 3rd, 2022
1,251
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
  1. let s="ciao";
  2.    
  3.    //ciclo tradizionale
  4.    //for (let i=0; i<s.length; i++) writeln(s[i]);
  5.    
  6.    //ciclo che sfrutta un iteratore e il for ... of
  7.    for (carattere of s) writeln(carattere);
  8.  
  9.    //writeln( typeof(s[Symbol.iterator]) );
  10.    let iteratore = s[Symbol.iterator]();
  11.    writeln( typeof(iteratore) );
  12.    let elemento = iteratore.next();
  13.    writeln(elemento.done);
  14.    writeln(elemento.value);
  15.  
  16.    elemento = iteratore.next();
  17.    writeln(elemento.done);
  18.    writeln(elemento.value);
  19.  
  20.    elemento = iteratore.next();
  21.    writeln(elemento.done);
  22.    writeln(elemento.value);
  23.  
  24.    elemento = iteratore.next();
  25.    writeln(elemento.done);
  26.    writeln(elemento.value);
  27.  
  28.    elemento = iteratore.next();
  29.    writeln(elemento.done);
  30.    writeln(elemento.value);
  31.  
  32.    String[Symbol.iterator] = function () {}
  33.    for (carattere of s) writeln(carattere);
  34.  
  35. class miaCollezione
  36.     {
  37.       constructor ()
  38.       {
  39.         this.items = [];
  40.       }
  41.      
  42.       add(value)
  43.       {
  44.         this.items.push(value)
  45.       }
  46.      
  47.       * [Symbol.iterator] ()
  48.       {
  49.         for (let key in this.items)
  50.         {
  51.           if(this.items[key].length>4 )
  52.             yield this.items[key];
  53.         }
  54.       }
  55.  
  56.       //PROVARE AD AGGIUNGERE UN ALTRO GENERATORE
  57.       //DA RICHIAMARE PER FARSI RESTITUIRE UN ITERATORE
  58.       //DA USARE SENZA FOR ... OF
  59.     }
  60.  
  61.  
  62.     function  * generatrice()
  63.     {
  64.       let n=0;
  65.      
  66.       while(true)
  67.       {
  68.         n++;
  69.         writeln(n);
  70.         yield;
  71.       }
  72.     }
  73.    
  74.     // let obj = generatrice();
  75.     // obj.next();
  76.     // obj.next();
  77.     // obj.next();
  78.     // obj.next();
  79.    
  80.     let o = new miaCollezione();
  81.     o.add("rossi");
  82.     o.add("Bob");
  83.     o.add("Gialli");
  84.  
  85.     for (x of o) { writeln(x); }
  86.  
  87.  
  88.   function writeln(messaggio, cornicetta=false)
  89.   {
  90.      document.write(messaggio+"<br>");
  91.      if (cornicetta)
  92.        writeln("-".repeat(40));
  93.   }
  94.  
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement