https://foro.gambas-es.org/viewtopic.php?f=2&t=7309
-----------------------------------
jsbsan
Lunes, 31 Diciembre 2018, 11:16

Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
En http://gambas.sourceforge.net/en/main.html ha publicado las mejoras y añadidos 

que raro que no lo hayan publicado en gitlab, ¿no?

Hay una cosa que ha añadido que pedi hace mucho tiempo:
[quote]Local variables can now be declared anywhere in the function body.[/quote]
Ahora se puede declarar variables locales antes de su uso, y no fuerza a hacerlo al principio de la subrutina o funcion.

Un ejemplo:
[code linenumbers=false syntax=gambas]' Gambas module file

Public Sub Main()

    Print "Hello world"

    Dim caja As Integer

    caja = 10
    Print "hola mundo", caja

    Dim a As Integer

    For a = 1 To 10
        Print a
    Next

End
[/code]


-----------------------------------
jguardon
Martes, 01 Enero 2019, 14:48

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
Pues ha habido polémica con esa posibilidad. Yo personalmente prefiero declararlas arriba de la función por limpieza y orden, porque si esto se te va de las manos, puede ser un infierno buscar errores en el código... Pero bueno, para gustos los colores, como se suele decir.

Saludos


-----------------------------------
Guizans
Martes, 01 Enero 2019, 15:39

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
Pues desde mi opinión también se ve el código mucho mas ordenado y limpio si se declaran todo al principio.


-----------------------------------
vuott
Martes, 01 Enero 2019, 19:02

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote user="jguardon" post="43920"]Yo personalmente prefiero declararlas arriba de la función por limpieza y orden[/quote]

Yo tambien estoy de acuerdo.


-----------------------------------
v3ctor
Martes, 01 Enero 2019, 22:25

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
yo cuando leí la propuesta de julio no la entendí, con su explicación ahora si se de que se trata.
Parece que lo lógico y mas sencillo es declararlas al principio, pero... no se si habría algún tipo de código que justificara declararla fuera de las primeras lineas y antes de usarla.


-----------------------------------
jsbsan
Miercoles, 02 Enero 2019, 07:57

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote] no se si habría algún tipo de código que justificara declararla fuera de las primeras lineas y antes de usarla.[/quote]
Mi necesidad surgió a la hora de pasar un código (un motor de fisica) que estaba en javascript a gambas, este tenia funciones muy largas de código y declaraba cada dos por tres variables locales. En gambas tenias al principio del procedimiento un tocho inmenso de variables definidas que luego ibas usabas a lo largo del código.

Tenéis razón: lo normal (y facilita la lectura) es  declarar las variables al principio, pero no esta demás tener esa opción, para casos 

Nota:
También tenemos la opción de decirle al IDE que no hace falta declarar (con dim)  variables locales pero eso lo veo  peor para entender que hace el código y las variables "no declaradas".


-----------------------------------
Guizans
Domingo, 06 Enero 2019, 17:36

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
Una novedad en esta versión, creo, es que las cadenas de caracteres se tratan como en Python, es decir como arrays, lo cual me parece tremendamente cómodo.
[code linenumbers=false syntax=gambas]
public sub Main()

  Dim cadena as String = "Hola mundo"
  Print cadena[2]

End
[/code]


-----------------------------------
tincho
Domingo, 06 Enero 2019, 23:21

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote user="Guizans" post="43970"]Una novedad en esta versión, creo, es que las cadenas de caracteres se tratan como en Python, es decir como arrays, lo cual me parece tremendamente cómodo...[/quote]
Si, muy buen cambio.
Saludos.


-----------------------------------
Shell
Lunes, 07 Enero 2019, 13:31

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote]
Una novedad en esta versión, creo, es que las cadenas de caracteres se tratan como en Python, es decir como arrays, lo cual me parece tremendamente cómodo.
[/quote]

Mejor para las conversiones de un lenguaje al otro. Habría que probar ejemplos.

Saludos


-----------------------------------
v3ctor
Lunes, 07 Enero 2019, 14:42

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote user="Guizans" post="43970"]Una novedad en esta versión, creo, es que las cadenas de caracteres se tratan como en Python, es decir como arrays, lo cual me parece tremendamente cómodo.
[code linenumbers=false syntax=gambas]
public sub Main()

  Dim cadena as String = "Hola mundo"
  Print cadena[2]

End
[/code][/quote]

Print cadena[2]   <---- bue eso si que no lo esperaba, raro..


-----------------------------------
tincho
Martes, 08 Enero 2019, 14:51

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
[quote user="Shell" post="43976"][quote]...Mejor para las conversiones de un lenguaje al otro. Habría que probar ejemplos...[/quote]
Si pero no es tal cual una matriz ya que no tiene .Max, entre otras cosas.
[code linenumbers=false syntax=gambas]
Public Sub Button1_Click()

    Dim cadena As String = "Hola mundo"
    Dim int As Integer

    For int = 0 To String.Len(cadena) - 1

        Print cadena[int]
    Next

End
[/code]
Pero esta útil el cambio.
Saludos.


-----------------------------------
Shell
Miercoles, 09 Enero 2019, 10:43

Re: Nuevas Funciones Y Mejoras De Gambas3.12.0
-----------------------------------
Tincho:

Parece que Benoit aun no está muy interesado en crear la mayoría de los métodos. 
Habrá que probar ejemplos y demostrarle al padre de la criatura lo útil que es.  :roll: 

Saludos


