Bucle a través de los elementos de una matriz asociativaProblema
Necesita mirar cada elemento en una matriz asociativa
Solución
use los mensajes <<
// 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: Recorriendo los elementos de un Array Asociativo¡Gracias!
lo que me dejó preguntándome, ¿por qué el cambio? Wikipedia tiene gran historia , parece ~30jun2021. También tiene la pagina antigua , que todavía funciona si te preguntas cómo era antes.
El código original usaba una combinación de números de columna y nombres de columna. Eso es bueno y malo, supongo. Al menos la columna nombrada falló, aunque hubiera estado bien como número. Pero entonces la columna 7 u 8 podría haber estado fallando silenciosamente/trabajando con un peso atómico incorrecto de la columna incorrecta.
Re: Recorriendo los elementos de un Array Asociativo
Gracias @Craige_Hales para la demostración útil.
Al probar este script, noté que Wikipedia ha actualizado la tabla de modo que el comando de matriz asociativa devuelve un error.
Creo que esta es la línea que debe ejecutarse para que la matriz asociativa se produzca correctamente.
map_Symbol_To_Data = Associative Array( dt[1 :: 118, "Element 2"], dt[1 :: 118, [3/*element name*/, 1/*element number*/, 8/*atomic weight*/]] );
Re: Recorriendo los elementos de un Array Asociativosym = map_Symbol_To_Data << first
recupera la primera clave.
sym = map_Symbol_To_Data << next( sym )
recupera la clave después de la clave actual en sim .
Las mayúsculas no son importantes para las variables, funciones o métodos jsl. Sin embargo, es importante para el valor clave real. sym="A" y sym="a" son dos claves distintas.
map_Symbol_To_Data[sym]
busca el valor sym en la matriz asociativa.
Se supone que map_symbol_to_data indica que la matriz asociativa es una asignación de símbolos (sym, las claves) a valores de datos.
Re: Recorriendo los elementos de un Array Asociativo¿El primer método (Primero, Siguiente) recorre las claves o los valores de la matriz asociativa? Además, en el Índice de secuencias de comandos, hay una incoherencia ortográfica: al principio Primero no está en mayúscula, luego está más abajo, por lo que no sé si debería estar en mayúscula o no. ¿Deberia ser?
Re: Recorriendo los elementos de un Array AsociativoUso inteligente de un bucle for.Solo he usado while con matrices asociativas antes.Tendré que intentar esto.