close Warning: Can't synchronize with repository "(default)" (/var/svn/mms does not appear to be a Subversion repository.). Look in the Trac log for more information.

Opened 14 years ago

Last modified 13 years ago

#644 new task

Aviso cuando faltan los atributos necesarios

Reported by: imendez Owned by: Pedro Gea
Priority: major Milestone: Next
Component: General Keywords:
Cc:

Description

Hola, cuando para modificar algún punto de un modelo (una constraint, un prior, etc.) falta un atributo obligatorio, MMS no da ningún aviso y, además, hace la modificación con los valores por defecto.

Creo que debería dar un error ya que no puede ejecutar lo que le está solicitando el usuario.

Por ejemplo, en el siguiente código se pretende poner una constraint a un parámetro:

Real limInf = 0;
Real limSup = 1;
Real parameter::SetConstraint([[ limInf, limSup ]])

MMS no avisa que los argumentos deberían llamarse, respectivamente, _.inferiorValue y _.superiorValue, y sustituye los límites de la restricción que hubiera antes por los valores por defecto (+INF y -INF)

Al corregir el código todo funciona perfectamente:

Real limInf = 0;
Real limSup = 1;
Real parameter::SetConstraint([[ Real _.inferiorValue = limInf,
                                 Real _.superiorValue = limSup ]])

Un saludo.

Change History (2)

comment:1 Changed 14 years ago by Pedro Gea

Milestone: Release 0.6
Type: defecttask

De acuerdo, curiosamente es que los dos argumentos: _.inferiorValue y _.superiorValue son opcionales, pero quizá no deberían ser opcionales los dos a la vez.

También se observa la necesidad de que las funciones que reciben un nameblock de argumentos pudieran informar adecuadamente de los argumentos obligatorios y opcionales y advertir cuando llegan argumentos inesperados.

comment:2 Changed 13 years ago by Pedro Gea

sensitive: 0

Véase #721.

Note: See TracTickets for help on using tickets.