CAAD
http://foro.caad.es/

_ y * en ngpaws para mensajes
http://foro.caad.es/viewtopic.php?f=6&t=5954
Página 1 de 1

Autor:  saimazoom [ 28 Dic 2015 13:38 ]
Asunto:  _ y * en ngpaws para mensajes

Me temo que será una pregunta fácil, ¿cuales son los equivalentes a _ y *de nmp para ngpaws?. Mirando en la documentación veo que para el primer objeto puedo usar _, {OREF} o {OBJECT|51}, ¿y para el segundo?

La idea es imprimir un "Sacas {el objeto1} de {el objeto2}".

¡Gracias!

Autor:  saimazoom [ 28 Dic 2015 16:21 ]
Asunto:  Re: _ y * en ngpaws para mensajes

Y otra pregunta, ¿al usar la secuencia {OREF} hay forma de imprimir 'de el' como 'del' ?.

Autor:  Uto [ 29 Dic 2015 01:32 ]
Asunto:  Re: _ y * en ngpaws para mensajes

saimazoom escribió:
Me temo que será una pregunta fácil, ¿cuales son los equivalentes a _ y *de nmp para ngpaws?. Mirando en la documentación veo que para el primer objeto puedo usar _, {OREF} o {OBJECT|51}, ¿y para el segundo?

La idea es imprimir un "Sacas {el objeto1} de {el objeto2}".

¡Gracias!


No existe, porque en en ngPAWS no existe un flag que guarde el objeto referenciado por el segundo nombre de una frase. Es algo que tenía NMP que no se reconstruyó cuando se hizo paguaglús=>superglús=>ngpaws.

Tampoco es que sea muy difícil hacer un plugin para añadirle la secuencia de escape que buscas. Así rápidamente me sale esto, que es repetir un poco las funciones que tiene ngPAWS para el primer objeto.

Código:
//LIB sequence_tag_oref2x

var old_sequence_tag_hook_oref2x = h_sequencetag;


function findMatchingObject2(locno)
{
   for (var i=0;i<num_objects;i++)
      if ((locno==-1) || (getObjectLocation(i) == locno))
       if (((objectsNoun[i]) == getFlag(FLAG_NOUN2)) && (((objectsAdjective[i]) == EMPTY_WORD) || ((objectsAdjective[i]) == getFlag(FLAG_ADJECT2))))  return i;
   return EMPTY_OBJECT;
}

function getSPContracc(objno)
{
       var gender = getAdvancedGender(objno);   
      if ((gender == 'M') || (gender == 'N')) return 'd'; else return 'de ';
}

function getSecondNameExtendedDescription()
{
   var referred_object = findMatchingObject2(-1);
   if (referred_object == EMPTY_OBJECT) return '';
   if (objects[referred_object]) return getSPContracc(referred_object) +  getObjectFixArticles(referred_object); else return '';
}

h_sequencetag = function(tagparams)
{
   if (tagparams[0]=='OREF2X') return getSecondNameExtendedDescription();
   return old_sequence_tag_hook_oref2x(tagparams);
}



El tag nuevo sería "OREF2X", la X es por extendido, porque no es como OREF, que devuelve el objeto con el "el", "la", "los", etc. sino que devuelve el objeto con el "del", "de la", "de los", etc. Fundamental para ello que los objetos tengan los atributos adecuados en la definición (aMale, aFemale, aPlural, etc.)

Página 1 de 1 Todos los horarios son UTC + 1 hora
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/