Operadores lógicos
Parte de la sección Fundamentos del Journey de Solidity de Coddy. Lección 17 de 53.
Combina condiciones booleanas con && para AND y || para OR. AND necesita que ambos lados sean verdaderos. OR necesita que al menos un lado sea verdadero. Coloca ! delante de un booleano para invertirlo. Los paréntesis facilitan la lectura de las comparaciones agrupadas.
Las instrucciones de este fragmento se ejecutan dentro de la función main proporcionada.
bool hasPass = true;
bool paused = false;
console.log(hasPass && !paused);El pase está presente y la marca de pausa es falsa, por lo que ambos requisitos se cumplen después de negar paused. AND y OR usan evaluación de cortocircuito: el lado derecho se evalúa solo cuando puede cambiar el resultado.
AND requiere que ambas condiciones se cumplan; OR requiere que se cumpla al menos una condición.
Desafío
FácilUn visitante puede entrar solo cuando ticket es true y closed es false. Imprime si se permite la entrada.
Las pruebas pasan argumentos a main en este orden: bool ticket, bool closed. Cada prueba comienza con un estado nuevo del contrato.
Usa console.log para la salida solicitada. Imprime solo los valores solicitados, uno por línea, sin etiquetas adicionales, a menos que la tarea las especifique.
Pruébalo tú mismo
// SPDX-License-Identifier: MIT
pragma solidity ^0.8.26;
import "forge-std/console.sol";
contract Main {
function main(bool ticket, bool closed) external view {
// Escribe tu solución aquí.
}
}Esta lección incluye un breve cuestionario. Empieza la lección para responderlo y registrar tu progreso.
Todas las lecciones de Fundamentos
10Reglas de los contratos
Condiciones requireReversiones explícitasEventosVisibilidad y privacidadActualizaciones verificadas2Variables y tipos
Enteros sin signoEntradas y salidasEnteros con signoValores booleanosCadenas en memoriaTarjeta de perfil5Funciones
Parámetros de funcionesValores de retornoFunciones purasLlamadas auxiliaresCálculos reutilizablesPractica por tu cuenta: Playground de Solidity