[Script Info] Title: [Events] Format: Layer, Start, End, Style, Name, MarginL, MarginR, MarginV, Effect, Text Dialogue: 0,0:00:00.00,0:00:04.53,Default,,0000,0000,0000,,Questa sarà una sezione molto breve. Vorrei solo aggiungere Dialogue: 0,0:00:04.53,0:00:09.98,Default,,0000,0000,0000,,un altro test che funziona bene con i dati sui nomi dei bambini. Quindi, Dialogue: 0,0:00:09.98,0:00:15.38,Default,,0000,0000,0000,,questa è l'alternativa al == che abbiamo usato prima Dialogue: 0,0:00:15.38,0:00:20.77,Default,,0000,0000,0000,,sui dati dei nomi di bambini. Vorrei mostrarvi queste funzioni, che sono chiamate Dialogue: 0,0:00:20.77,0:00:25.96,Default,,0000,0000,0000,,startsWith e endsWith. E queste lavorano nelle stringhe. Per spiegarlo, prendiamo Dialogue: 0,0:00:25.96,0:00:30.72,Default,,0000,0000,0000,,il mio codice. Ecco come funziona. Il risultato è lo stesso che abbiamo ottenuto prima. Dialogue: 0,0:00:30.72,0:00:34.42,Default,,0000,0000,0000,,Apro la tavola, qui c'è il loop, c'è l'if-statement, guardiamo Dialogue: 0,0:00:34.42,0:00:38.77,Default,,0000,0000,0000,,ogni row [NdT riga]. Guardiamo la funzione qui. Allora, la prima Dialogue: 0,0:00:38.77,0:00:42.97,Default,,0000,0000,0000,,parte è la stessa che abbiamo fatto prima. Quindi, mettiamo row.getField("name") Dialogue: 0,0:00:42.97,0:00:47.13,Default,,0000,0000,0000,,metto il nome della row, ed ecco una stringa. Prima abbiamo fatto Dialogue: 0,0:00:47.13,0:00:50.87,Default,,0000,0000,0000,,esempi come, oh, è uguale a "Abby" o "Robert" o qualunque altra cosa, con i segni ==. Dialogue: 0,0:00:50.87,0:00:55.28,Default,,0000,0000,0000,,Il modo in cui funzionano le funzioni startsWith e endsWith , la sintassi è Dialogue: 0,0:00:55.28,0:00:59.35,Default,,0000,0000,0000,,un po' strana. C'è un punto... E si aggiunge subito a destra Dialogue: 0,0:00:59.35,0:01:03.79,Default,,0000,0000,0000,,del nome quindi, tolgo il nome e metto .startsWith. E Dialogue: 0,0:01:03.79,0:01:08.61,Default,,0000,0000,0000,,poi, nelle parentesi di startsWith, si può mettere qualunque cosa. Dialogue: 0,0:01:08.61,0:01:13.62,Default,,0000,0000,0000,,Provo a mettere "Ab". E cosa ottengo? I nomi che iniziano con le lettere "Ab"? Dialogue: 0,0:01:13.62,0:01:18.75,Default,,0000,0000,0000,,Se ottengo qualcosa, allora la funzione startsWith è vera, altrimenti è falsa. Allora, Dialogue: 0,0:01:18.75,0:01:23.46,Default,,0000,0000,0000,,leggiamo. Il nome inizia con "Ab"? Proviamo. Dialogue: 0,0:01:23.46,0:01:28.59,Default,,0000,0000,0000,,Se eseguo così, vedrete che ha cercato in tutte le 2.000 rows, Dialogue: 0,0:01:28.59,0:01:33.60,Default,,0000,0000,0000,,e ha scelto, vedremo tutti quelli che iniziano con "Ab". Quindi, è Dialogue: 0,0:01:33.60,0:01:41.09,Default,,0000,0000,0000,,vero per tutti questi. Qualunque cosa io scriva qui, otterremo tutte le rows nelle quali il nome Dialogue: 0,0:01:41.09,0:01:47.48,Default,,0000,0000,0000,,inzia con quello. Quindi, potrei scrivere...non so, possiamo invertirlo. Scrivo Dialogue: 0,0:01:47.48,0:01:53.63,Default,,0000,0000,0000,,"Ba", oh, non ce ne sono molti. Posso magari solo "A" maiuscolo e non due Dialogue: 0,0:01:53.63,0:02:00.26,Default,,0000,0000,0000,,lettere. Ne otterremo molti, molti nomi che iniziano con "A". Se Dialogue: 0,0:02:00.26,0:02:07.66,Default,,0000,0000,0000,,scrivo "a" minuscola ed eseguo. Non ottengo nulla. Questo perchè Dialogue: 0,0:02:07.66,0:02:12.31,Default,,0000,0000,0000,,ci sono le "A" maiuscole e le "a" minuscole e per il computer Dialogue: 0,0:02:12.31,0:02:17.46,Default,,0000,0000,0000,,sono due lettere differenti. In questi dati i nomi iniziano tutti con una maiuscola Dialogue: 0,0:02:17.46,0:02:22.42,Default,,0000,0000,0000,,e poi tutte le altre sono minuscole. Quindi startsWith("a") Dialogue: 0,0:02:22.42,0:02:27.20,Default,,0000,0000,0000,,avrà zero risultati, mentre se metto una Dialogue: 0,0:02:27.20,0:02:32.04,Default,,0000,0000,0000,,"A" maiuscola ed eseguo allora li otterrò tutti. Potete anche vedere che Dialogue: 0,0:02:32.04,0:02:37.13,Default,,0000,0000,0000,,tutti iniziano con una maiuscola e sono seguiti da minuscole. Vi serve solo Dialogue: 0,0:02:37.13,0:02:45.36,Default,,0000,0000,0000,,sapere questo per i test. Cos'altro posso fare? Proviamo "Z". Allora se Dialogue: 0,0:02:45.36,0:02:53.62,Default,,0000,0000,0000,,cerco startsWith("Z"), ottengo tutti i nomi; non sono molti. Oppure Dialogue: 0,0:02:53.62,0:03:02.08,Default,,0000,0000,0000,,potrei limitare un po', magari potrebbe iniziare con "Za". Otteniamo meno nomi. Magari posso mettere "Zai". Dialogue: 0,0:03:02.08,0:03:07.55,Default,,0000,0000,0000,,E ne otteniamo solo 4. Poi potrei mettere qualcosa come Dialogue: 0,0:03:07.55,0:03:12.14,Default,,0000,0000,0000,,"Zai"...non so..."x". Eseguo e, oh, non ottengo nulla. Quindi è Dialogue: 0,0:03:12.14,0:03:16.84,Default,,0000,0000,0000,,possibile scrivere un test anche se è falso. Cercherà in tutte le 2000 rows e poi Dialogue: 0,0:03:16.84,0:03:21.37,Default,,0000,0000,0000,,non scriverà nulla. Quindi, torniamo a "Zai". Questa è Dialogue: 0,0:03:21.37,0:03:26.19,Default,,0000,0000,0000,,la funzione startsWith. E in questi primi esempi lo useremo Dialogue: 0,0:03:26.19,0:03:30.72,Default,,0000,0000,0000,,sempre più o meno in questo modo. Allora, abbiamo la row dei dati dei bambini, prendiamo i nomi, Dialogue: 0,0:03:30.72,0:03:35.26,Default,,0000,0000,0000,,e mettiamo .startsWith, per controllare la parte sinistra del nome. Dialogue: 0,0:03:35.26,0:03:41.28,Default,,0000,0000,0000,,Quindi, come potete immaginare, c'è anche .endsWith che controlla Dialogue: 0,0:03:41.28,0:03:46.54,Default,,0000,0000,0000,,la parte destra del nome. Se dico endsWith("z"), eseguo, oh cavoli, Dialogue: 0,0:03:46.54,0:03:52.42,Default,,0000,0000,0000,,ce ne sono proprio pochi, sembra che ci siano solo tre nomi Dialogue: 0,0:03:52.42,0:03:57.90,Default,,0000,0000,0000,,tra tutti i dati che finiscono con "z". Allora, potrei provare con Dialogue: 0,0:03:57.90,0:04:04.27,Default,,0000,0000,0000,,più lettere. Potrei mettere endsWith("ly"). Ce ne sono un po' di più. Provo con endsWith("la"). Dialogue: 0,0:04:04.27,0:04:09.18,Default,,0000,0000,0000,,Eseguo. Oh, ce ne sono molti di più. Credo che questi Dialogue: 0,0:04:09.18,0:04:13.66,Default,,0000,0000,0000,,siano tutti nomi di bambine. Questo è uno schema culturale Dialogue: 0,0:04:13.66,0:04:18.51,Default,,0000,0000,0000,,in Inglese "la" potrebbe essere un nome da bambina. Dialogue: 0,0:04:18.51,0:04:23.24,Default,,0000,0000,0000,,Quindi queste sono due funzioni aggiuntive che Dialogue: 0,0:04:23.24,0:04:28.09,Default,,0000,0000,0000,,useremo per i nomi dei dati sui bambini. Dialogue: 0,0:04:28.09,0:04:32.70,Default,,0000,0000,0000,,Ma ci permetteranno anche di risolvere problemi più interessanti.