guizans   24-01-2026, 14:30
#1
Hola a todos.

En otros lenguajes, como en Java, existe la palabra clave "this" para diferenciar una variable de clase a una variable de método con el mismo nombre. ¿En Gambas hay algo por el estilo?
Código:
Private valor as Integer

Public Sub Main()

metodo1(34)

End

Private metodo1(valor as integer)

valor = valor

End

Lo que hago en este caso es lo lógico, llamar las variables de distinta forma, o añadir el símbolo dólar al principio de la variable de clase. ¿Se puede hacer igual que en Java, por ejemplo?

Un saludo.
Shordi   25-01-2026, 07:58
#2
Sintácticamente no ocurren grandes catástrofes: El compilador te da un warning. Algo así como "Variable Global ocultada por declaración local: <variable>" y el programa parece funcionar, pero al hacer eso "inutilizas", al menos en el ámbito de la función local, la variable Global.


Saludos

No podemos regresar
guizans   25-01-2026, 10:33
#3
Si lo se, lo probé, y la variable local oculta la global. Por eso preguntaba si en Gambas hay alguna forma de diferenciarlas, pero por lo que he estado viendo no lo hay. No pasa nada, era solo por curiosidad.

Un saludo.
Rufs   27-01-2026, 12:38
#4
Olá, por acaso não seria o "me.valor=valor".
creio que diferenciar com símbolos seja estratégico.
Última modificación: 27-01-2026, 12:55 por Rufs.
guizans   27-01-2026, 22:41
#5
Hola Rufs.

Ya lo intenté, es más, fui lo primero que pensé, ya que "Me" hace referencia a la clase, así que parece lógico, pero no funciona, me marca error.

Un saludo.
Shordi   Ayer, 18:53
#6
A mí me parece que, aunque se pudiese, es una muy mala política. Confusa, generadora de errores y dificilísima de depurar al cabo de un tiempo...

No podemos regresar
guizans   Ayer, 20:31
#7
No te digo que no, pero se que en Java se puede y se utiliza. No se hasta que punto puede generar errores, ya que la variable del método muere con el, y la que de verdad importa es la variable de clase. Supongo que es una forma de no tener que inventarse nuevos nombres. No lo se.

Un saludo.
  
Usuarios navegando en este tema: 1 invitado(s)
Powered By MyBB, © 2002-2026 MyBB Group.
Made with by Curves UI.