Qué cuenta como verdadero con __bool__ en Mojo
__bool__ decide qué significa tu struct dentro de un if.
@fieldwise_init
struct Cart(ImplicitlyCopyable, Movable):
var items: Int
def __bool__(self) -> Bool:
return self.items > 0
def main():
var cart = Cart(0)
if cart:
print("ready to check out")
else:
print("the cart is empty")
Cómo funciona
Cartcuenta susitems.__bool__informa verdadero solo cuando ese conteo pasa de cero.if cart:llama al método, así que un carrito vacío toma la ramaelse.
Palabras clave y builtins usados aquí
IntMovabledefelseifprintreturnselfstructvar
El intento, en números
- Líneas
- 14
- Caracteres a escribir
- 226
- Tokens
- 54
- Ritmo de tres estrellas
- 85 tpm
Al ritmo de tres estrellas de 85 tokens por minuto, este intento toma unos 38 segundos.
Paso 4 de 5 en Operadores; paso 14 de 22 en Structs y traits.