AntonioFS   27-11-2021, 15:58
#1
Hola.

Estoy aprendiendo Gambas. Me encuentro que en una llamada a una función con varios parámetros, quisiera guardar una mejor estética escribiéndolo en más de una línea. Parece ser que INTRO da la orden de finalización de las instrucciones, así que no sé cómo puedo hacerlo para que dos o más líneas sean consideradas una.

Agradecería sugerencias.
Muchas gracias.
Antonio F.S.
tincho   27-11-2021, 17:09
#2
Hola Antonio, bienvenido al foro.
Tendrías que proporcionarnos un ejemplo de lo que estas haciendo o intentas hacer.
¿Es una "llamada" usando Shell o Exec?

Saludos.

1 Saludo.
AntonioFS   27-11-2021, 18:19
#3
Muchas gracias por la bienvenida.

Soy ya un hombre viejete (casi 60) :-)

Mi costumbre al programar es no pasar de los 80 caracteres por línea, pero por ejemplo en una llamada como esta sí pasa de dicha cantidad:
N0.siOno = verificarDatos(N0.ID_TUTOR, N0.varDatos, N0.MIN_IDTUTOR, N0.MAX_IDTUTOR)

Private Function verificarDatos(txt1 As String, txt2 As String, minRango As Long, maxRango As Long) As Boolean

Lo que quiero es poder dividir la línea en dos, pero al hacer Intro, me da error de ejecución:
Private Function verificarDatos(txt1 As String, txt2 As String, minRango As Long,
   maxRango As Long) As Boolean


En java como se finaliza con ';' no tengo problema, y quiero saber si en Gambas hay algo similar.

Cordiales saludos.
Antonio F.S.
Última modificación: 27-11-2021, 18:21 por AntonioFS.
jguardon   27-11-2021, 21:14
#4
Según Benoit, el desarrollador principal de Gambas:
Cita:There is no line continuation character, but you usually can go to
another line inside an expression after a comma.

Es decir, que no existe carácter de continuación de línea, pero puedes seguir escribiendo en la siguiente línea después de una coma en la expresión actual. Y añado que siempre puedes hacerlo si lo que separas es una cadena de caracteres, por ejemplo:

Código:
micadena = " esto es una cadena extremadamente larga que"
"quiero partir en dos lineas"

También con el operador & pero siempre al final de una cadena:

Código:
micadena = " esto es una cadena extremadamente larga que" &
"quiero partir en dos lineas"

Pero esto no funciona en expresiones que no lleven cadenas, salvo como indica Benoit, después de una lista de argumentos y la coma.

No recuerdo bien si finalmente se implementó la terminación de líneas con un guión bajo _ . Ahora mismo no puedo probarlo, no estoy delante del PC.

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
jguardon   27-11-2021, 21:22
#5
(27-11-2021, 18:19)AntonioFS escribió: Lo que quiero es poder dividir la línea en dos, pero al hacer Intro, me da error de ejecución:

Por cierto, ¿qué versión de gambas estás usando?

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
AntonioFS   27-11-2021, 23:59
#6
Hola.

Ante todo, muchas gracias por la rapidez en responder.
He probado con la coma ',' y el guión bajo '_' al final de línea, pero sigue dándome error en la ejecución. Es una pena porque la experiencia me dice que, con líneas de más de 80 caracteres se afea mucho el código, al mismo tiempo que se le quita un correcto y más rápido acceso visual al fuente. En cuanto a la concatenación de cadenas funciona a la perfección, pero lamentablemente no es ese el caso planteado.

Estoy usando la versión 3.16.3 de Gambas (la última actualizada en web de Gambas).

Seguiré con mis estudios de este estupendo lenguaje de programación, pues me recuerda a los Basic del Commodore Vic20, C64, 128 y Amiga de hace ya unos cuantos años atrás, además de tener reminiscencia de  MS-Basic, Quick Basic, Turbo Basic... En fin, que como digo ya soy mayorcete. :-) :-)

Por cierto, una curiosidad: en las funciones de lectura y escritura (setters/getters en Java, más o menos), ¿por qué se les aplica PRIVATE? He tenido que inventarme un recurso en la misma clase para cuando son llamadas desde otras o desde otros módulos, poder trabajar con ese sistema de la POO.

Muchas gracias de nuevo.
Cordiales saludos.

Antonio F.S.
jguardon   28-11-2021, 13:07
#7
(27-11-2021, 23:59)AntonioFS escribió: Por cierto, una curiosidad: en las funciones de lectura y escritura (setters/getters en Java, más o menos), ¿por qué se les aplica PRIVATE?


Hola de nuevo, Antonio. Es mejor abrir un tema nuevo para cuestiones que no tienen que ver con el ámbito de la pregunta inicial del tema.

Si te parece, desarrollamos allí, una vez que lo hagas Wink .

Saludos

Por favor, usa el corrector ortográfico antes de pulsar el botón 'Enviar'
  
Usuarios navegando en este tema: 3 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.