Con Gambas además de aplicaciones se pueden realizar scripts. Estos scripts se diferencian poco de las anteriores en cuanto a potencia y capacidades, pero hay una diferencia fundamental. Es código interpretado.

En la práctica viene a ser equivalente a realizar un script bash (por ejemplo) salvo que tenemos a nuestra disposición casi todas las opciones disponibles en Gambas.

Para poder acceder a estas funciones es necesario instalar el paquete gambas2-script. A partir de este momento ya tendremos disponible en nuestro sistema gbs2 que es el intérprete.

Inicio
Como todos los scripts se debe iniciar con el entorno en que se mueve. En nuestro caso:

Código: Seleccionar todo

#!/usr/bin/env gbs2

A partir de ahí realizar las tareas que queramos con nuestro script:

Código: Seleccionar todo

#!/usr/bin/env gbs2
'ejecutar un proceso y mostrar el resultado
print "Ejecución en progreso"
print "Mostrando las veinte últimas líneas de log"
shell "tail -20 /var/log/archivo.log"
print "proceso ejecutado correctamente
Podemos declarar variables de todo tipo. arrays, objects, o lo que queramos:

Código: Seleccionar todo

#!/usr/bin/env gbs2
Dim Nombre AS String , Apellido as string
Print "Nombre:"
Input Nombre
Print "Apellido:"
Input Apellido
print "El nombre es: '" & Nombre & " " & Apellido & "'"
Y a veces como todo script que se precie querremos la posibilidad de enviarle parámetros. Para eso utilizaremos la clase Application que tiene una propiedad llamada args[] que almacena los parámetros de entrada.
La clase application

La propiedad Args es un array de parámetros. Args[0] es igual a Application.name y es siempre el nombre del programa.
Como todo array disponemos de Args.count para saber la cantidad de parámetros:

Código: Seleccionar todo

#!/usr/bin/env gbs2
Dim x as integer
Print "Aplicación: " & Application.Args[0]
for x=1 to Application.Args.count-1
   Print x & "º parámetro: " & Application.Args[x]
next

También como todo script que se precie puede requerir consultar alguna variable de entorno. Para ello igualmente acudiremos a la clase Application pero esta vez con la propiedad Env:

Código: Seleccionar todo

#!/usr/bin/env gbs2

if application.env["Variable"]="1" then
   print "valor inadecuado"
endif
Funciones
Naturalmente funcionan con funciones y rutinas exactamente igual que el gambas de siempre:

Código: Seleccionar todo

#!/usr/bin/env gbs2

public sub Main()
Dim Op1 as integer, Op2 as integer, Resultado as integer
...
MostrarAsteriscos()
print "Introduzca valor 1: "
Input Op1
print "Introduzca valor 2: "
Input Op2
Resultado=CalcularResultado(Op1,Op2)
print "El resultado es: " & Resultado
end

private sub MostrarAsteriscos
Dim A as string
A=string("*",40) 'crear un string de 40 asteriscos
print A
end

private Function CalcularResultado(A as integer, B as integer) as integer
return A+B
End
Naturalmente están disponibles los componentes de Gambas para obtener capacidades extra en un script. Para ello usamos "use componente":

Código: Seleccionar todo

#!/usr/bin/env gbs2
use "gb.net"

public sub Main()
Dim S as new socket
...
... 'aquí ponemos lo que queramos con nuestro socket
...

end
Welcome to your nightmare, bitch.
Responder

Volver a “Otros lenguajes”