Ejemplos
Hola Mundo
#!/usr/bin/env minilux
printf("¡Hola, Mundo!")
Variables y Matemáticas
# Aritmética básica
$a = 10
$b = 20
$suma = $a + $b
$producto = $a * $b
printf("Suma: ", $suma)
printf("Producto: ", $producto)
Calculadora de Factorial
#!/usr/bin/env minilux
# Calcular el factorial de un número
$n = 5
$resultado = 1
$original = $n
while ($n > 0) {
$resultado = $resultado * $n
dec $n - 1
}
printf("El factorial de ", $original, " es ", $resultado)
Temporizador de Cuenta Regresiva
#!/usr/bin/env minilux
# Cuenta atrás de 10 a 1
$cuenta = 10
while ($cuenta > 0) {
printf($cuenta, " ...")
sleep(1)
dec $cuenta - 1
}
printf("¡Despegue!")
Manipulación de Arrays
#!/usr/bin/env minilux
# Trabajando con arrays
$frutas = ["manzana", "platano", "naranja"]
printf("Frutas iniciales:")
$i = 0
while ($i < len($frutas)) {
printf($i, ": ", $frutas[$i])
inc $i + 1
}
# Añadir una fruta
push $frutas, "uva"
printf("Después de añadir uva: ", len($frutas), " frutas")
# Eliminar la primera fruta
shift $frutas
printf("Después de eliminar la primera: ", len($frutas), " frutas")
# Imprimir la lista final
printf("Frutas finales:")
$i = 0
while ($i < len($frutas)) {
printf($i, ": ", $frutas[$i])
inc $i + 1
}
FizzBuzz
#!/usr/bin/env minilux
# FizzBuzz del 1 al 20
$i = 1
while ($i <= 20) {
$mod3 = $i % 3
$mod5 = $i % 5
if ((($mod3 == 0) AND ($mod5 == 0))) {
printf("FizzBuzz")
} elseif ($mod3 == 0) {
printf("Fizz")
} elseif ($mod5 == 0) {
printf("Buzz")
} else {
printf($i)
}
inc $i + 1
}
Encontrar el Valor Máximo
#!/usr/bin/env minilux
# Encontrar el valor máximo en un array
$numeros = [23, 45, 12, 67, 34, 89, 15]
$max = $numeros[0]
$i = 1
while ($i < len($numeros)) {
if ($numeros[$i] > $max) {
$max = $numeros[$i]
}
inc $i + 1
}
printf("Valor máximo: ", $max)
Ejecutar programas del sistema
#!/usr/bin/env minilux
# Ejecutar comandos del sistema
printf("=== Información del Sistema ===")
$usuario = shell("whoami")
$hostname = shell("hostname")
$os = shell("uname -s")
$fecha = shell("date")
printf("Usuario: ", $usuario)
printf("Hostname: ", $hostname)
printf("SO: ", $os)
printf("Fecha: ", $fecha)
Funciones Definidas por el Usuario
#!/usr/bin/env minilux
# Definir y usar funciones personalizadas
func saludar {
printf("¡Hola desde una función personalizada!")
}
func calcular {
$x = 10
$y = 20
$resultado = $x + $y
printf("Resultado del cálculo: ", $resultado)
}
# Llamar a las funciones
saludar
calcular
Barra de Progreso
#!/usr/bin/env minilux
# Simular una barra de progreso
printf("Cargando")
$i = 0
while ($i < 10) {
printf(".")
sleep(1)
inc $i + 1
}
printf(" ¡Completado!")
Incluir Otros Scripts
Crea un archivo de librería lib.mi:
# lib.mi - Funciones de ayuda
func decirHola {
printf("¡Hola desde la librería!")
}
func imprimirSeparador {
printf("==================")
}
Script principal main.mi:
#!/usr/bin/env minilux
# main.mi - Utiliza la librería
include "lib.mi"
imprimirSeparador
decirHola
imprimirSeparador
Ejemplo de Socket TCP
#!/usr/bin/env minilux
# Solicitud HTTP simple
sockopen("web", "example.com", 80)
sockwrite("web", "GET / HTTP/1.0\r\nHost: example.com\r\n\r\n")
sockread("web", $respuesta)
sockclose("web")
printf("Respuesta: ", $respuesta)
Suma de Números
#!/usr/bin/env minilux
# Calcular la suma de números del 1 al N
$n = 100
$i = 1
$suma = 0
while ($i <= $n) {
$suma = $suma + $i
inc $i + 1
}
printf("Suma de 1 a ", $n, ": ", $suma)