Ciclo attraverso gli elementi di un array associativoProblema
Devi guardare ogni elemento in un array associativo
Soluzione
utilizzare i messaggi <<
// load a table of elements
dt = Open( "https://en.wikipedia.org/wiki/List_of_chemical_elements", HTML Table( 4, Column Names( 2 ), Data Starts( 5 ) ) );
// make an associative array using "H" to lookup "Hydrogen" and some of its properties
map_Symbol_To_Data = Associative Array( dt[1 :: 118, "Symbol"], dt[1 :: 118, [3/*element name*/, 1/*element number*/, 7/*atomic weight*/]] );
// close the table
Close( dt, nosave );
// loop through the keys using <<FIRST and=""><<NEXT for=""></NEXT></FIRST>
Re: Looping attraverso gli elementi di un array associativoGrazie!
il che mi ha lasciato chiedermi, perché il cambiamento? Wikipedia ha grande storia , sembra ~30giugno2021. Ha anche il vecchia pagina , che funziona ancora se ti chiedi che aspetto avesse una volta.
Il codice originale utilizzava un mix'n'match di numeri di colonna e nomi di colonna. Questo è buono e cattivo, immagino. Almeno la colonna denominata non funzionava, anche se sarebbe andata bene come numero. Ma poi la colonna 7 o 8 potrebbe aver fallito silenziosamente/lavorare con un peso atomico errato dalla colonna sbagliata.
Re: Looping attraverso gli elementi di un array associativo
Grazie @Craige_Hales per l'utile dimostrazione.
Durante il tentativo di questo script ho notato che Wikipedia ha aggiornato la tabella in modo tale che il comando dell'array associativo restituisca un errore.
Penso che questa sia la linea che deve essere eseguita se l'array associativo viene prodotto correttamente.
map_Symbol_To_Data = Associative Array( dt[1 :: 118, "Element 2"], dt[1 :: 118, [3/*element name*/, 1/*element number*/, 8/*atomic weight*/]] );
Re: Looping attraverso gli elementi di un array associativosym = map_Symbol_To_Data << first
recupera la prima chiave.
sym = map_Symbol_To_Data << next( sym )
recupera la chiave dopo la digitazione corrente sim .
La maiuscola non è importante per variabili, funzioni o metodi jsl. Tuttavia, è importante per il valore effettivo della chiave. sym="A" e sym="a" sono due chiavi distinte.
map_Symbol_To_Data[sym]
cerca il valore sym nell'array associativo.
map_symbol_to_data dovrebbe indicare che l'array associativo è una mappatura di simboli (sym, le chiavi) ai valori dei dati.
Re: Looping attraverso gli elementi di un array associativoIl primo metodo (First, Next) esegue il ciclo delle chiavi o dei valori dell'array associativo? Inoltre, nello Scripting Index, c'è un'incoerenza ortografica: all'inizio First non è in maiuscolo, quindi è più in basso, quindi non so se dovrebbe essere in maiuscolo o meno. Dovrebbe essere?
Re: Looping attraverso gli elementi di un array associativoUso intelligente di un ciclo for.Ho usato solo while con array associativi prima.Dovrò provarlo.