Business
Jobs
  • About Us
  • Solutions
    • Job Postings
      Post your job and receive qualified candidates in 48h.
    • Candidate Assessments
      500+ technical and psychological tests, plus anti-fraud.
    • Headhunting
      Tailor-made executive search from start to finish.
    • Payroll + EOR
      Payroll dispersal and EOR across 15+ LATAM countries.
  • Pricing
  • Jobs

0

181
Views
¿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
Answer question
Find remote jobs

Discover the new way to find a job!

Top jobs
Top job categories
Business
Post vacancy Pricing Sales
Legal
Terms and conditions Privacy policy
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Show me some job opportunities
There's an error!