Las variables son como cajitas donde metemos datos. Sin embargo, hay diferentes tipos de cajitas, en algunas caben números, en otras letras, en otras objetos... Veamos algunas de las más usadas y como se inicializan.
numero : int // para números enteros pos y negativos / uint para solo positivos
decimal : float // para numeros decimales, para grandes números double.
cadena : string // para cadenas de caracteres y usaremos " "
caracter: char // un solo caracter y usaremos ' ' . uchar 0-255 caracteres?
u_caracter: unichar // Es un offset o carácter unicode
boleano : bool // para guardar datos lógicos --> true, false
Se pueden declarar también así.
var i=0 // se sobreentenderá que es int
var o= "hola" // o será string
var
a ="hola"
b= "adios"
Declarar variables como objetos.
a: Gtk.TextView // la variable a contendrá el tipo de objetos Textview.
¿Qué son los objetos?
Los objetos y clases se pueden explicar a través del típico ejemplo del coche. Un coche es una clase. Este coche tiene unas características y unas funcionalidades. Ser de color rojo es una característica que además es variable puesto que puedo cambiar el color. Y también tiene unas funciones o metodos, por ejemplo la función de arranque, frenado, embragado, abertura de puertas....
Una ventana que se abre en nuestra pantalla es como un coche, es un objeto que tiene sus propias caracteristicas (color, titulo, ) y también tiene unos (botones) que cumplen ciertas funciones. A todo esto también podemos añadir, que las ventanas de nuestra pantalla producen eventos.
¿Que es un evento? Un evento es cuando algo sucede, cuando el ratón hace click en un botón, cuando la ventana se abre, cuando la ventana se cierra, cuando el usuario ha introducido una palabra en un cuadro de texto, etc.
Resumiendo (sin eventos) y traduciendo a lengua Genie de un modo sencillo:
[indent =4]
init
var mi_coche = new Coche () // creamos nuestro coche
print mi_coche.color // vemos su color
print "velocidad = %i " ,mi_coche.velocidad // observamos su velocidad
mi_coche.arrancar() // Arrancamos el coche
print "velocidad = %i " ,mi_coche.velocidad // La velocidad ha cambiado.
class Coche : Object
init
var mi_coche = new Coche () // creamos nuestro coche
print mi_coche.color // vemos su color
print "velocidad = %i " ,mi_coche.velocidad // observamos su velocidad
mi_coche.arrancar() // Arrancamos el coche
print "velocidad = %i " ,mi_coche.velocidad // La velocidad ha cambiado.
class Coche : Object
// Propiedades variables de los coches
prop color: string ="negro"
prop velocidad: int =0
// Este es método, es decir una funcionalidad del coche
def arrancar()
velocidad=10
print "coche en funcionamiento"
velocidad=10
print "coche en funcionamiento"
Podríamos crear una clase donde el coche nos podría responder si esta en movimiento o no.
[indent =4]
init
var mi_coche = new Coche () // creamos mi coche
print "%s",mi_coche.estado // la funcion estado devuelve una cadena
mi_coche.arrancar() // Arrancamos el coche
print "%s",mi_coche.estado // Esto devuelve una cadena que imprimimos
init
var mi_coche = new Coche () // creamos mi coche
print "%s",mi_coche.estado // la funcion estado devuelve una cadena
mi_coche.arrancar() // Arrancamos el coche
print "%s",mi_coche.estado // Esto devuelve una cadena que imprimimos
class Coche : Object
// Propiedades variables de los coches
prop color: string ="negro"
prop velocidad: int =0
// Esta es una funcionalidad del coche
def arrancar()
velocidad=10
print "coche en funcionamiento"
velocidad=10
print "coche en funcionamiento"
// Esta es un método de devuelve una cadena de caracteres
// Es decir mi_coche.estado se convierte literalmente en un String
// que es devuelto con return st
def estado () :string
var st= ""
if velocidad>0
st= "Andando"
else
st= "Parado"
return st
Por otro lado hemos visto como manejar una estructura if y else. Que significa que si se cumple algo realice algo y que en caso contrario realice otra cosa.
Que conste que mientras escribo yo también aprendo. Todo esto lo voy probando y cuando veo que el ensayo no da error lo cuelgo aquí para compartirlo. Aunque yo sepa programar estoy aprendiendo la sintaxis de este lenguaje. Sin embargo pondré las explicaciones para que cualquier iniciado pueda entender lo que hago.
No hay comentarios:
Publicar un comentario