Questa sarà una sezione molto breve. Vorrei solo aggiungere
un altro test che funziona bene con i dati sui nomi dei bambini. Quindi,
questa è l'alternativa al == che abbiamo usato prima
sui dati dei nomi di bambini. Vorrei mostrarvi queste funzioni, che sono chiamate
startsWith e endsWith. E queste lavorano nelle stringhe. Per spiegarlo, prendiamo
il mio codice. Ecco come funziona. Il risultato è lo stesso che abbiamo ottenuto prima.
Apro la tavola, qui c'è il loop, c'è l'if-statement, guardiamo
ogni row [NdT riga]. Guardiamo la funzione qui. Allora, la prima
parte è la stessa che abbiamo fatto prima. Quindi, mettiamo row.getField("name")
metto il nome della row, ed ecco una stringa. Prima abbiamo fatto
esempi come, oh, è uguale a "Abby" o "Robert" o qualunque altra cosa, con i segni ==.
Il modo in cui funzionano le funzioni startsWith e endsWith , la sintassi è
un po' strana. C'è un punto... E si aggiunge subito a destra
del nome quindi, tolgo il nome e metto .startsWith. E
poi, nelle parentesi di startsWith, si può mettere qualunque cosa.
Provo a mettere "Ab". E cosa ottengo? I nomi che iniziano con le lettere "Ab"?
Se ottengo qualcosa, allora la funzione startsWith è vera, altrimenti è falsa. Allora,
leggiamo. Il nome inizia con "Ab"? Proviamo.
Se eseguo così, vedrete che ha cercato in tutte le 2.000 rows,
e ha scelto, vedremo tutti quelli che iniziano con "Ab". Quindi, è
vero per tutti questi. Qualunque cosa io scriva qui, otterremo tutte le rows nelle quali il nome
inzia con quello. Quindi, potrei scrivere...non so, possiamo invertirlo. Scrivo
"Ba", oh, non ce ne sono molti. Posso magari solo "A" maiuscolo e non due
lettere. Ne otterremo molti, molti nomi che iniziano con "A". Se
scrivo "a" minuscola ed eseguo. Non ottengo nulla. Questo perchè
ci sono le "A" maiuscole e le "a" minuscole e per il computer
sono due lettere differenti. In questi dati i nomi iniziano tutti con una maiuscola
e poi tutte le altre sono minuscole. Quindi startsWith("a")
avrà zero risultati, mentre se metto una
"A" maiuscola ed eseguo allora li otterrò tutti. Potete anche vedere che
tutti iniziano con una maiuscola e sono seguiti da minuscole. Vi serve solo
sapere questo per i test. Cos'altro posso fare? Proviamo "Z". Allora se
cerco startsWith("Z"), ottengo tutti i nomi; non sono molti. Oppure
potrei limitare un po', magari potrebbe iniziare con "Za". Otteniamo meno nomi. Magari posso mettere "Zai".
E ne otteniamo solo 4. Poi potrei mettere qualcosa come
"Zai"...non so..."x". Eseguo e, oh, non ottengo nulla. Quindi è
possibile scrivere un test anche se è falso. Cercherà in tutte le 2000 rows e poi
non scriverà nulla. Quindi, torniamo a "Zai". Questa è
la funzione startsWith. E in questi primi esempi lo useremo
sempre più o meno in questo modo. Allora, abbiamo la row dei dati dei bambini, prendiamo i nomi,
e mettiamo .startsWith, per controllare la parte sinistra del nome.
Quindi, come potete immaginare, c'è anche .endsWith che controlla
la parte destra del nome. Se dico endsWith("z"), eseguo, oh cavoli,
ce ne sono proprio pochi, sembra che ci siano solo tre nomi
tra tutti i dati che finiscono con "z". Allora, potrei provare con
più lettere. Potrei mettere endsWith("ly"). Ce ne sono un po' di più. Provo con endsWith("la").
Eseguo. Oh, ce ne sono molti di più. Credo che questi
siano tutti nomi di bambine. Questo è uno schema culturale
in Inglese "la" potrebbe essere un nome da bambina.
Quindi queste sono due funzioni aggiuntive che
useremo per i nomi dei dati sui bambini.
Ma ci permetteranno anche di risolvere problemi più interessanti.