Así que sigamos aprendiendo sobre mapas.
Así que en el último video creamos un mapa vacío
y luego editar elementos
usando el método set.
Recuerde, sin embargo,
en realidad hay otra forma de poblar un nuevo mapa
sin tener que usar el método set.
Y prefiero eso porque el método set
es un poco engorroso cuando hay muchos
de valores a configurar.
Entonces, en su lugar, podemos crear un nuevo mapa como este.
Así que voy a llamar a esta una pregunta,
porque ahora estamos implementando
algo así como un cuestionario.
Entonces, de una manera muy simple,
así que un nuevo mapa,
y luego aquí podemos pasar en una matriz
y disarray en sí mismo contendrá múltiples matrices.
Y en cada una de estas matrices,
la primera posición va a ser la clave.
Y la segunda posición será el valor.
Así que hagamos eso.
entonces digamos
pregunta,
y entonces cual es el mejor lenguaje de programacion
¿en el mundo?
Así que esta es básicamente la primera entrada de
este mapa de preguntas.
Así que antes habríamos usado el método set
y luego esto como primer argumento
y este como el segundo,
pero ahora podemos simplemente especificar un desorden
de arreglos
en esto.
esperar
Ahora, a continuación,
Quiero especificar las opciones
para la respuesta básicamente.
Y así puedo simplemente hacer eso por su número.
Así que la primera respuesta va a ser C
entonces C el lenguaje de programación.
El segundo, será Java.
Y el tercero será, por supuesto, ¿qué más? secuencia de comandos Java,
entonces necesitamos una clave para la respuesta correcta.
¿Y cuál crees que es la respuesta correcta?
por supuesto, el número tres.
Y luego también podemos tener como un mensaje de éxito
y un mensaje de error.
Y así que volvamos a,
use las teclas booleanas, tan cierto,
que es básicamente cuando el usuario tiene razón,
entonces podemos decir correcto.
Y tal vez algún tipo de emoji aquí,
como éste,
pero si esta mal.
Entonces, si la respuesta es falsa,
vuelva a intentarlo.
Está bien.
Y entonces echemos un vistazo
y eso parece correcto.
Fantástico.
Entonces, al crear un nuevo mapa desde cero,
directamente en el código,
en realidad prefiero de esta manera
de escribirlo sobre la forma en que lo hicimos
en una conferencia anterior.
Pero cuando seguimos agregando nuevos elementos,
programáticamente usando código,
entonces, por supuesto, el método set sigue siendo el camino a seguir.
Ahora, como un aparte,
¿Este tipo de estructura aquí?
Entonces, ¿el desorden de las matrices se parece un poco a ti?
Bueno, espero que lo haga
porque esta es exactamente la misma estructura de matriz
que se devuelve
de llamar a entradas de punto de objeto.
Así por ejemplo,
en el objeto de horario de apertura.
Y así ves que son dos,
obtenemos una matriz de matrices donde el primer elemento
es la clave y la segunda
es el valor.
Y entonces, lo que esto significa es que hay
es una manera fácil de convertir de objetos a mapas.
Así que déjame escribir eso aquí,
en realidad convertir objeto a mapa.
Y entonces podemos decir nuestro mapa
es un nuevo mapa
y luego simplemente
con entradas de punto de objeto
de horario de apertura.
Muy bien, de nuevo,
porque esta estructura que resulta de las entradas de puntos de objetos
es exactamente igual a este.
Así que una matriz de matrices.
De hecho, ahora tenemos un mapa aquí
y así que ten presente este pequeño truco aquí,
cada vez que necesite un mapa,
cuando ya tienes un objeto.
A continuación, hablemos de iteración.
y la iteración es posible
en los mapas porque como ya sabemos,
los mapas también son iterables.
Y así el bucle for
también está disponible para ellos.
Entonces, usemos un bucle for en realidad
para imprimir ahora,
solo estas opciones aquí
a la consola
Así que estos tres,
está bien.
Así que como siempre,
me gusta empezar
con primero decir lo que vamos a repetir.
Y ese va a ser el mapa de preguntas.
Y así cada elemento
de la pregunta, como antes, contendrá tanto la clave
y el valor
Y entonces, ahora puedo reestructurar directamente eso
en dos variables separadas.
Así que esto es realmente,
muy buen caso de uso de la reestructuración.
Muy bien, solo para reiterar,
esto es exactamente lo mismo que hicimos nosotros
cuando hicimos un bucle sobre el objeto.
La única diferencia es que para el objeto,
necesitábamos entradas de puntos de objetos aquí.
Y eso es solo porque el objeto
no es un alterable,
pero luego lo convertimos
a un modificable usando entradas de punto de objeto.
Y entonces esta parte aquí
es exactamente igual
Bueno.
Ahora tenga en cuenta.
Sólo queremos imprimir estos tres.
Así que esencialmente solo queremos
para imprimir un elemento si la clave es un número.
Así que usemos lo que ya sabemos,
tecla de apagado, número igual,
y solo entonces mira a la consola.
Así que aquí adentro, responde,
y luego la llave.
Entonces, el número para que la persona elija
con el valor correcto,
que va a ser la opción de respuesta en sí.
Así que, aquí vamos.
Responde uno, dos, tres,
y ahora también registremos la pregunta en sí.
Entonces aplicación de prueba,
y aquí queremos que la pregunta no se haga, recuerda,
y luego la tecla de pregunta.
Y ahora está completo con preguntas y respuestas.
Ahora para obtener la respuesta del usuario,
volvamos a usar un indicador,
así que responda igual a un aviso,
y vamos a pedir tu respuesta
y la respuesta.
Y recuerda, necesitamos convertir esto ahora a un número
porque eventualmente compararemos este número
con la llave que tenemos aquí.
Está bien.
Imprimámoslo entonces también.
Bueno.
Así que aquí tenemos que cuestionar,
y por supuesto la respuesta correcta
es el número tres.
Y aquí vamos.
Y ahora podemos usar el poder
de las claves booleanas aquí en orden
para imprimir el mensaje de éxito aquí
o el mensaje de error básicamente.
Está bien.
Entonces, ¿crees que puedes hacer eso?
por tu cuenta?
Solo tómate un minuto o dos e inténtalo
por su cuenta ahora mismo.
Entonces, ¿te las arreglaste para hacer eso?
Bueno, comencemos comparando la respuesta.
con la respuesta correcta, básicamente.
Así que esa es una pregunta que no se corrige.
Y entonces esto es un tres, ¿verdad?
Y luego podemos comparar eso con la respuesta.
Entonces, en este caso,
esto también fue tres.
Y así esto aquí,
lo que devuelve la verdad.
Correcto.
Y ahora, ya que esto es cierto,
podemos enchufar eso directamente
en el mapa.
Y entonces este verdadero luego regresará correcto.
Así que eso es similar a lo que hicimos
en el video anterior también.
Y así de nuevo,
estamos usando el poder de tener valores booleanos como claves,
y luego registremos ese mensaje final
a la consola
Así que tres de nuevo, ahora,
y algo salió mal,
pero veo que es sólo aquí.
¿Es el nombre?
Así que esto es correcto.
Incorrecto.
Así que de nuevo tres
y ahora
de hecho tenemos razón.
Bueno.
Así que esto es tres aquí.
La respuesta es tres,
esto es tres.
Y entonces esto aquí será verdad.
Y así, cuando obtenemos un verdadero
del mapa,
obtenemos bien esta cadena,
algo más.
Y de hecho conseguimos intentarlo de nuevo.
Bueno.
Y con eso,
Terminamos este pequeño y agradable cuestionario.
Ahora, solo para terminar aquí,
Como nota al margen,
a veces también necesitamos volver a convertir un mapa
a una matriz.
Así que básicamente a esta estructura,
y podemos hacer eso, así.
Así que convierte el mapa
a la matriz básicamente.
Puede hacerlo simplemente construyendo una nueva matriz
y luego desempacar de nuevo,
utilizando el operador de propagación.
El mapa de preguntas,
nos está preguntando aquí de nuevo.
Y entonces el resultado es esencialmente
esta misma estructura de datos.
Así que la matriz de matrices,
con el que empezamos.
Así que es este de aquí.
Así que en este caso, por supuesto,
esto no tendría mucho sentido,
pero todavía tiene que saber que a veces
puede convertir un mapa en una matriz.
Vamos a preestablecer esto aquí a algún valor
para que no siempre nos moleste aquí.
Y por cierto,
también están los,
los métodos que teníamos en matrices,
cuales son las entradas
y tambien llaves
y valores
en caso de que los necesites.
Bien, ahora nos dan
este extraño iterador aquí.
Entonces, tal como les mostré antes,
hay que esparcirlos y ponerlos
en una nueva matriz.
Así como esto,
pero esto no es realmente tan importante.
Solo quería mostrarles que esto existe.
y para esto, en realidad no hay necesidad,
porque va a ser exactamente igual que este.
Bueno.
Así que estas son todas las claves.
y todos los valores en dit.
Muy bien y eso es todo lo que tengo para mostrarte
sobre mapas por ahora,
pero ahora te estarás preguntando
¿Cuándo debo usar mapas?
y ¿cuándo debo usar objetos?
Porque son bastante similares, ¿verdad?
Bueno, de eso se trata la próxima conferencia.
Allí te ayudaré a elegir.
entre todas las estructuras de datos,
incluso arreglos y conjuntos pares.