saimazoom escribió:
Más cosillas raras:
> ex paredes
No ves unos papeles importantes por aquí.
> ex patedes
No ves unos papeles importantes por aquí.
Has descubierto una de las "features" de la beta 8, la tolerancia a errores de tecleado. Ahora ngpaws acepta cualquier palabra con una
distancia de Levenshtein de un máximo de 2 como válida.
Es decir, cuando determina si una palabra es del vocabulario primero trata de obtener un match perfecto (distancia 0) , pero si no lo encuentra busca a ver si hay una palabra con distancia 1, y si no la encuentra tampoco busca otra palabra cuya distancia sea 2. Solo si ya no encuentra ninguna con distancia 2 se da por rendido y "no entiende" esa palabra.
Aunque en general este sistema produce resultados beneficiosos, también puede producir falsos matchs, como el caso de paReDes, que tiene una distancia de 2 con paPeLes, y hace match.
Si quieres desactivarlo, creo que bastaría con que en cualquiera de tus js que se carguen despues del code.js metas esta función:
Código:
findVocabulary = function(word)
{
// Search word in vocabulary
for (var j=0;j<vocabulary.length;j++)
if (vocabulary[j][VOCABULARY_WORD] == word)
return vocabulary[j];
// Word not found
return null;
}
Eso "machacará" la función findVocabulary dejándola como estaba en la beta 7.
Por supuesto, ese caso en concreto también se arreglará si metes "PAREDES" en el vocabulario, porque entonces hará match de distancia 0.
Esta característica hace, por otro lado, que no sea necesario por regla general añadir "plurales" como sinónumos en el vocabulario: barba y barbas tienen distancia 1.