1 00:00:00,000 --> 00:00:04,526 Questa sarà una sezione molto breve. Vorrei solo aggiungere 2 00:00:04,526 --> 00:00:09,984 un altro test che funziona bene con i dati sui nomi dei bambini. Quindi, 3 00:00:09,984 --> 00:00:15,376 questa è l'alternativa al == che abbiamo usato prima 4 00:00:15,376 --> 00:00:20,768 sui dati dei nomi di bambini. Vorrei mostrarvi queste funzioni, che sono chiamate 5 00:00:20,768 --> 00:00:25,960 startsWith e endsWith. E queste lavorano nelle stringhe. Per spiegarlo, prendiamo 6 00:00:25,960 --> 00:00:30,720 il mio codice. Ecco come funziona. Il risultato è lo stesso che abbiamo ottenuto prima. 7 00:00:30,720 --> 00:00:34,417 Apro la tavola, qui c'è il loop, c'è l'if-statement, guardiamo 8 00:00:34,417 --> 00:00:38,771 ogni row [NdT riga]. Guardiamo la funzione qui. Allora, la prima 9 00:00:38,771 --> 00:00:42,974 parte è la stessa che abbiamo fatto prima. Quindi, mettiamo row.getField("name") 10 00:00:42,974 --> 00:00:47,127 metto il nome della row, ed ecco una stringa. Prima abbiamo fatto 11 00:00:47,127 --> 00:00:50,874 esempi come, oh, è uguale a "Abby" o "Robert" o qualunque altra cosa, con i segni ==. 12 00:00:50,874 --> 00:00:55,279 Il modo in cui funzionano le funzioni startsWith e endsWith , la sintassi è 13 00:00:55,279 --> 00:00:59,348 un po' strana. C'è un punto... E si aggiunge subito a destra 14 00:00:59,348 --> 00:01:03,787 del nome quindi, tolgo il nome e metto .startsWith. E 15 00:01:03,787 --> 00:01:08,613 poi, nelle parentesi di startsWith, si può mettere qualunque cosa. 16 00:01:08,613 --> 00:01:13,622 Provo a mettere "Ab". E cosa ottengo? I nomi che iniziano con le lettere "Ab"? 17 00:01:13,622 --> 00:01:18,754 Se ottengo qualcosa, allora la funzione startsWith è vera, altrimenti è falsa. Allora, 18 00:01:18,754 --> 00:01:23,458 leggiamo. Il nome inizia con "Ab"? Proviamo. 19 00:01:23,458 --> 00:01:28,589 Se eseguo così, vedrete che ha cercato in tutte le 2.000 rows, 20 00:01:28,589 --> 00:01:33,598 e ha scelto, vedremo tutti quelli che iniziano con "Ab". Quindi, è 21 00:01:33,598 --> 00:01:41,094 vero per tutti questi. Qualunque cosa io scriva qui, otterremo tutte le rows nelle quali il nome 22 00:01:41,094 --> 00:01:47,482 inzia con quello. Quindi, potrei scrivere...non so, possiamo invertirlo. Scrivo 23 00:01:47,482 --> 00:01:53,630 "Ba", oh, non ce ne sono molti. Posso magari solo "A" maiuscolo e non due 24 00:01:53,630 --> 00:02:00,264 lettere. Ne otterremo molti, molti nomi che iniziano con "A". Se 25 00:02:00,264 --> 00:02:07,655 scrivo "a" minuscola ed eseguo. Non ottengo nulla. Questo perchè 26 00:02:07,655 --> 00:02:12,312 ci sono le "A" maiuscole e le "a" minuscole e per il computer 27 00:02:12,312 --> 00:02:17,459 sono due lettere differenti. In questi dati i nomi iniziano tutti con una maiuscola 28 00:02:17,459 --> 00:02:22,422 e poi tutte le altre sono minuscole. Quindi startsWith("a") 29 00:02:22,422 --> 00:02:27,201 avrà zero risultati, mentre se metto una 30 00:02:27,201 --> 00:02:32,042 "A" maiuscola ed eseguo allora li otterrò tutti. Potete anche vedere che 31 00:02:32,042 --> 00:02:37,128 tutti iniziano con una maiuscola e sono seguiti da minuscole. Vi serve solo 32 00:02:37,128 --> 00:02:45,359 sapere questo per i test. Cos'altro posso fare? Proviamo "Z". Allora se 33 00:02:45,359 --> 00:02:53,616 cerco startsWith("Z"), ottengo tutti i nomi; non sono molti. Oppure 34 00:02:53,616 --> 00:03:02,081 potrei limitare un po', magari potrebbe iniziare con "Za". Otteniamo meno nomi. Magari posso mettere "Zai". 35 00:03:02,081 --> 00:03:07,551 E ne otteniamo solo 4. Poi potrei mettere qualcosa come 36 00:03:07,551 --> 00:03:12,140 "Zai"...non so..."x". Eseguo e, oh, non ottengo nulla. Quindi è 37 00:03:12,140 --> 00:03:16,843 possibile scrivere un test anche se è falso. Cercherà in tutte le 2000 rows e poi 38 00:03:16,843 --> 00:03:21,374 non scriverà nulla. Quindi, torniamo a "Zai". Questa è 39 00:03:21,374 --> 00:03:26,193 la funzione startsWith. E in questi primi esempi lo useremo 40 00:03:26,193 --> 00:03:30,724 sempre più o meno in questo modo. Allora, abbiamo la row dei dati dei bambini, prendiamo i nomi, 41 00:03:30,724 --> 00:03:35,255 e mettiamo .startsWith, per controllare la parte sinistra del nome. 42 00:03:35,255 --> 00:03:41,277 Quindi, come potete immaginare, c'è anche .endsWith che controlla 43 00:03:41,277 --> 00:03:46,539 la parte destra del nome. Se dico endsWith("z"), eseguo, oh cavoli, 44 00:03:46,539 --> 00:03:52,425 ce ne sono proprio pochi, sembra che ci siano solo tre nomi 45 00:03:52,425 --> 00:03:57,895 tra tutti i dati che finiscono con "z". Allora, potrei provare con 46 00:03:57,895 --> 00:04:04,267 più lettere. Potrei mettere endsWith("ly"). Ce ne sono un po' di più. Provo con endsWith("la"). 47 00:04:04,267 --> 00:04:09,180 Eseguo. Oh, ce ne sono molti di più. Credo che questi 48 00:04:09,180 --> 00:04:13,663 siano tutti nomi di bambine. Questo è uno schema culturale 49 00:04:13,663 --> 00:04:18,514 in Inglese "la" potrebbe essere un nome da bambina. 50 00:04:18,514 --> 00:04:23,243 Quindi queste sono due funzioni aggiuntive che 51 00:04:23,243 --> 00:04:28,094 useremo per i nomi dei dati sui bambini. 52 00:04:28,094 --> 00:04:32,700 Ma ci permetteranno anche di risolvere problemi più interessanti.