Skip to content

Cómo Escribir Programas en LibreScript

Aquí se presenta una guía básica de la sintaxis y ejemplos para empezar a escribir código en LibreScript.

numero: Abarca tanto enteros como números con decimales.

  • Ejemplo de declaración:
$a: numero = 0;

LiveServer

texto: Para cadenas de texto.

  • Ejemplo de declaración:
$mensaje: texto = "Hola, mundo soy: !LibreScript!";

LiveServer

booleano: Para valores lógicos verdadero y falso.

  • Ejemplo de declaración :
$estaHecho: booleano = falso;
$tienePermiso: booleano = verdadero;

LiveServer

Objeto: Para estructuras de datos con pares clave-valor

  • Ejemplo de declaración y asignación:
$persona: Objeto = {
nombre: "Juan",
edad: 25
};

LiveServer

Arreglos (Arrays): Para colecciones de elementos del mismo tipo.

  • Ejemplo de declaración y asignación de un arreglo de texto:
$numeros: numero[] = [1, 2, 3, 4, 5];
$nombres: texto[] = ["Ana", "Luis", "Carlos"];

LiveServer

  • Declaración: $nombreVariable: TipoDeDato;

  • Asignación: $nombreVariable = valor;

  • Declaración y Asignación: $nombreVariable: TipoDeDato = valor;

$cantidad: numero=200;
$cantidad = 100;
$mensaje: texto = "LibreScript es genial!";
$esValido: booleano = verdadero;

Las constantes se declaran con un doble signo de dólar $$. Su valor no puede ser reasignado después de la inicialización.

$$PI: numero = 3.14159;
$$GRAVEDAD: numero = 9.81;

LiveServer

LibreScript soporta operadores aritméticos, relacionales, lógicos y de asignación.

Tipo de OperadorSímbolosDescripción
Aritméticos+, -, *, /, **, %Suma, resta, multiplicación, división, potencia, módulo
Incremento/Decremento++, --Incrementa o decrementa en 1
Relacionales==, !=, <, >, <=, >=Comparación: igual, diferente, menor, mayor, etc.
Lógicos&&, ll, !AND, OR, NOT
Asignación=, +=, -=, *=, /=, %=, **=Asignación directa y compuesta

Ejemplos:

$a: numero = 10;
$b: numero = 20;
$c: numero = 5;
$res1: numero = $a + $b * $c; // Precedencia: 10 + (20 * 5) = 110
$res2: numero = ($a + $b) * $c; // Paréntesis: (10 + 20) * 5 = 150
$res3: numero = $a ** 2; // Potencia: 10 * 10 = 100
$res4: numero = $b / $c + $a % 3; // División (20/5=4), Módulo (10%3=1), Suma (4+1=5)
$cond1: booleano = ($a>$b)&&($b<$c); // (falso)&&(falso) = falso
$cond2: booleano = ($a<$b) || ($b<$c); // (verdadero) || (falso) = verdadero
$cond3: booleano = !($a == $b); // !(falso) = verdadero

LiveServer

Condicional si / siNo si / siNo:

si ($edad >= 18) {
imprimir("Es mayor de edad.");
} siNo si ($edad >= 13) {
imprimir("Es un adolescente.");
} siNo {
imprimir("Es un niño.");
}

LiveServer

LiveServer

Bucle mientras:

$contador: numero = 0;
mientras ($contador<5) {
imprimir("Contador: " + aTxt($contador));
$contador + 1;
}

LiveServer

Bucle para:

para ($i: numero = 0; $i<10; $i+1) {
imprimir("Iteración: " + aTxt($i));
}

LiveServer

Sentencia romper: Para salir de un bucle.

mientras (verdadero) {
imprimir("Bucle infinito (romperá en la siguiente línea)");
romper;
}

LiveServer

Sentencia segun (switch):

$opcion: numero = 2;
segun ($opcion) {
caso 1:{
imprimir("Seleccionaste la opción 1.");
}romper;
caso 2:{
imprimir("Seleccionaste la opción 2.");
}romper;
pordefecto:{
imprimir("Opción no reconocida.");
}
}

LiveServer

Declaración de Función:

funcion saludar($nombre: texto): texto {
devolver "Hola, " + $nombre + "!";
}
funcion sumar($a: numero, $b: numero): numero {
devolver $a + $b;
}
funcion imprimirMensaje($msg: texto): vacio {
imprimir("Este es un mensaje sin retorno.");
}

LiveServer

Llamada a Función:

Objeto Creación de Objeto (Instanciación)

LiveServer

Acceso a Arreglos y Objetos Literales Acceso a Elementos de Arreglo:

LiveServer