Este foro usa cookies
Este foro utiliza cookies para almacenar su información de inicio de sesión si está registrado y su última visita si no lo está. Las cookies son pequeños documentos de texto almacenados en su computadora; las cookies establecidas por este foro solo se pueden usar en este sitio web y no representan ningún riesgo de seguridad. Las cookies en este foro también rastrean los temas específicos que ha leído y la última vez que los leyó. Si Ud. continúa navegando, entenderemos que acepta todas las cookies.

Se almacenará una cookie en su navegador, independientemente de la elección, para evitar que se le vuelva a hacer esta pregunta. Podrá cambiar la configuración de sus cookies en cualquier momento utilizando el enlace en el pie de página.

El foro antiguo se encuentra accesible desde https://foro.gambas-es.org en modo de solo lectura.

Calificación:
  • 0 voto(s) - 0 Media
  • 1
  • 2
  • 3
  • 4
  • 5

Código muy largo para una sóla línea.
#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.
    ¡Gracias!
#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.
    ¡Gracias!
#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.
    ¡Gracias!
#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:

GAMBAS
  1. micadena = " esto es una cadena extremadamente larga que"
  2. "quiero partir en dos lineas"



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

GAMBAS
  1. micadena = " esto es una cadena extremadamente larga que" &
  2. "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'
[-] Los siguientes 1 usuarios dice gracias a jguardon por este post:
  • AntonioFS
    ¡Gracias!
#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'
[-] Los siguientes 1 usuarios dice gracias a jguardon por este post:
  • AntonioFS
    ¡Gracias!
#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.
    ¡Gracias!
#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'
[-] Los siguientes 1 usuarios dice gracias a jguardon por este post:
  • AntonioFS
    ¡Gracias!


Posibles temas similares…
Tema / Autor Respuestas Vistas Último mensaje

Salto de foro:


Usuarios navegando en este tema: 1 invitado(s)