Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

189
Vistas
¿El algoritmo RETE sigue siendo relevante en el año 2022 O tenemos mejores alternativas, tenemos otras librerías de motor de reglas estables en JavaScript, excepto nools?

Estoy trabajando con una entrada de usuario que debe procesarse según el conjunto de reglas. Usar nools, pero es un dolor de espalda cuando se trata de operaciones de JavaScript ES6 como IIFE, reducción de mapas, ordenación anidada.

Hablar de RETE algo en 2022 puede sonar abrumador, pero es realmente útil y tiene sentido. He estado usando nools (que está en desuso y ya no es compatible, ¡duh!) Y funciona bien cuando define directamente cuando-> entonces.

Pero si quiero hacer alguna operación JS en la salida, a veces se ejecuta y falla a veces. Este comportamiento me hace pensar si estoy haciendo algo mal O si ya no es estable (ya que ahora no se admite activamente)

Lo que estoy tratando de hacer: mis datos tienen un patrón DS muy malo con objetos de matriz anidados y cadenas juntas.

Datos->

 const matchOutput = [ { X: ['None'], Y: ['None'], Z: ['1 mg/m3 STEL'], A: ['None'], name: 'AMER' }, { X: [ '2 mg/m3 TWA (as Sn) Inhalable fraction.', '0.2 mg/m3 STEL (as Sn)', '0.1 mg/m3 TWA (as Sn)' ], Y: ['0.1 mg/m3 PEL (as Sn)', '0.1 mg/m3 TWA (as Sn)'], Z: ['None'], A: ['0.1 mg/m3 REL (as Sn)'], name: '2-ethylhexanoate;tin(2+)' }, { X: ['0.5 mg/m3 TWA (as Hf)'], Y: ['None'], Z: ['None'], A: ['0.5 mg/m3 REL (as Hf)'], name: 'Hafnium dioxide' }, { X: ['300 ppm STEL', '200 ppm STEL'], Y: ['200 ppm PEL', '300 ppm PEL-STEL', '200 ppm TWA'], Z: ['None'], A: ['200 ppm REL', '300 ppm REL'], name: 'MEK' } ];

Dentro de mi regla de nools, estoy haciendo una operación de clasificación una vez que coincide.

 matchOutput.sort(()=>{ exposureControlList.forEach(obj => { for (let key in obj) { if (key !== 'name'){ obj[key].sort((a, b) => b.localeCompare(a, 'en', { numeric: true }))}); } } exposureControlList.sort((a, b) => a.name.localeCompare(b.name, 'en')); return exposureControlList; });

Lo que debería ordenar la matriz interna en valores numéricos desc y la matriz externa en el name de la clave.

Esta función de clasificación funciona bien si en un archivo JS coloca los datos y realiza la función de clasificación anterior, pero en el archivo .nools falla.

Soy relativamente nuevo en nools, así que pocas consultas:

  1. No pude encontrar ninguna extensión en VS Code para ver el archivo .nools correctamente (no en texto sin formato)
  2. Si la función es incorrecta, ¿hay alguna forma de depurar el archivo .nools?
  3. ¿Puede probar de forma independiente un archivo .nools?

Gracias por tu tiempo.

about 4 years ago · Juan Pablo Isaza
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda