Aún no tienes acceso a esta clase

Crea una cuenta y continúa viendo este curso

Curso de Introducción a Solidity

Curso de Introducción a Solidity

Sebastián Leonardo Perez

Sebastián Leonardo Perez

Mappings y enums

6/21
Recursos

Aportes 9

Preguntas 2

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad? Crea una cuenta o inicia sesión.

Mapas

Los mapas son estructuras de datos de tipo llave-valor, que permiten apuntar un tipo de dato a otro en forma de diccionario.

El tipo de la llave puede ser cualquier tipo de dato elemental, (por ejemplo, uint), y el tipo de dato del valor puede ser cualquier dato elemental o complejo, (se pueden inclusive hacer estructuras multidimensionales)

mapping(<key type> => <value type>) <visibility> <name>;

Enum

Representa una lista de valores posibles creados por el usuario, una variable del tipo de enum declarado sólo puede tomar los valores enumerados.

enum { <value1>, ..., <valueN> }

Seria bueno generarle la cultura a los nuevos programadores para que las clases, variables, enum, contratos no solo sean formato camelcase sino que tambien se escriban en ingles.
Por lo demas todo viene excelente

pragma solidity >=0.7.0 <0.9.0;

contract Saldo {
    
    mapping(address => uint) public balance;
    
    enum Estado { Iniciado, Finalizado }
    
    Estado public estadoDelContrato;
    
    constructor() {
        estadoDelContrato = Estado.Iniciado;
        
        balance[msg.sender] = 1000;
        
        estadoDelContrato = Estado.Finalizado;
    }
    
    
}

Veo que en el video figura la opcion de call, en mi caso no me figura, pero se soluciona haciendo click en el nombre del parametro. Entiendo que se habra actualizado el Remix.

array --> lista sin indice
mapping --> lista con indice

Mapping

  • Permite almacenar datos asociando una llave:valor
    mapping (string -> string) countries;

countries['Felipe'] = 'Colombia';
countries['Laura']= 'Ecuador';

countries['Felipe'] // 'Colombia';
countries['Laura'] // 'Ecuador';

Enum types

Las enumeraciones son la forma de crear tipos de datos definidos por el usuario, generalmente se usa para proporcionar nombres para constantes integrales, lo que hace que el contrato sea mejor para el mantenimiento y la lectura. Las enumeraciones restringen la variable con uno de los pocos valores predefinidos

enum <enumerator_name> { 
				element 1, elemenent 2,....,element n
	} 

Algo que ayuda mucho y te va ahorrando tiempo es guardar con el control+s que te compila automáticamente 😄

mapping: Es un tipo especial de arreglo llamados arreglos asociativos.

enum: Coleccion ordenada de valores, el primer elemento corresponde con el elemento 0 (cero).