Advertencia funcprot en Scilab Redefinición de Funciones.

Muchas veces cuando trabajamos con funciones en Scilab, principalmente cuando estamos iniciando, comenzamos a probar sobre los tipos de variables disponibles en este entorno y cómo se definen, luego pasamos a los scripts y todo va de maravilla, pero luego pasamos a las funciones y nos encontramos con un comportamiento extraño en Scilab, además de tener que ejecutar el ‘exec()’ para poder hacer uso de funciones definidas por nostros, el ‘problema’ del que hablamos hoy tiene que ver con una advertencia como la de la figura de abajo.

funcprot

¿Pero que es funcprot(0)?

¿por qué sale esa advertencia?

Como hablamos en una entrada sobre funciones y scripts en scilab, cuando creamos una función y usamos ‘exec()’, esta se carga en el espacio de trabajo, luego, cuando realizamos algún cambio en ella y guardamos los cambios, necesitamos entonces, volver a cargarla al espacio de trabajo para que estos cambios sean reconocidos, esto se conoce como ‘redefinir’ la función y es justo lo que aparece en el mensaje que nos da Scilab ya sea que lo tengas configurado en ingles o español.

Esto se debe a que scilab es cuidadoso con las ‘redefiniciones’, no es un problema, es un beneficio sino quieres que luego alguien haga una re-definición o cambie el funcionamiento de algo que tu has escrito, aunque esto no es muy común.

¿Cómo evito esto?

funcprot() es una función, la cual recibe un parámetro, que es un número entero y los posibles valores son 0, 1, 2.  ¿qué pasa cuando uso cada uno antes de definir una función?

  • 0 : Scilab recomienda usar el valor 0 (cero) ya que con esto se desabilita cualquier mensjae de advertencia de redefinición o algo por el estilo
  • 1 : Esta opción hace que cada vez que una función sea redefinida aparecezca el warning o la advertencia de la imagen de arriba y es la opción por defecto.
  • 2 : Esto proboca un mensaje de error cuando la función va a ser redefinida, y no permite la ejecución.

Hacemos uso de de funcprot(0) de la siguiente manera, cuando vamos a crear una nueva función solo basta con escribirlo en la primera linea, como se muestra en la figura de abajo, donde definimos una función que realiza la suma de dos números.

funcprot0

Luego para hacer la prueba y ver si las advertencias ya no aparecen, pues solo basta con redefinir varias veces la misma función y ver si sale algo (se supone que ya no debería).

funcprot1

Como era de esperarse, ahora cuando se realizan varias definiciones de la misma función no aparece aquella advertencia de la primera imagen, además puedes ensayar la opción dos y ver como luego no es posible realizar nuevas definiciones haciendo funcprot(2).

Espero que este corto artículo haya sido de ayuda para hacer más claro el trabajo con este gran software Scilab, si esto te ha servido ayudanos a compartirlo con más personas a las que le puede servir. Si crees que se debe mejorar o cambiar algo, dejanos un comentario.

Saludos.

Autor: Julio Marulanda.

Un comentario en “Advertencia funcprot en Scilab Redefinición de Funciones.

  1. Pingback: Funciones y Scripts en Scilab. | El Blog de Programación para Ingenierías

Responder

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s