I think Alan Barton wrote:
>
>
> 1) If I create a new string that only contains numbers and assert
> that fact, JESS automatically tries to convert it to a number. But
> since it is a "very" large number the value inside JESS becomes
> infinity. Would it be better to keep it as a string if the conversion failed??
> This is probably a non interesting question...
> Ex.
> String largeNumberString = new String("123456789...allNumsInHere...90");
> jessEngine.executeCommand("(assert (foo " + largeNumberString + ") )");
Well, if you want strings, you can force these to be parsed a Strings
just by sticking quotes around them:
executeCommand("(assert (foo \"12345\"))");
will interpret the slot as a string, not as an int. This kind of
limitation is not different from any other programming language, where
overly-large literals are generally a compile-time error.
>
> 2) How can I retract a fact that contains a multivariable?
> The commented code to retract the fact does not work,
> but I can print the values.
Works for me... if you run the following program, you'll see all three
facts get retracted in turn.
(watch all)
(defrule TEST01
?factID <- (foo $?values)
=>
(printout t $?values crlf)
(retract ?factID))
(assert (foo) (foo bar) (foo bar bar))
(run)
---------------------------------------------------------
Ernest Friedman-Hill
Distributed Systems Research Phone: (925) 294-2154
Sandia National Labs FAX: (925) 294-2234
Org. 8920, MS 9214 [EMAIL PROTECTED]
PO Box 969 http://herzberg.ca.sandia.gov
Livermore, CA 94550
---------------------------------------------------------------------
To unsubscribe, send the words 'unsubscribe jess-users [EMAIL PROTECTED]'
in the BODY of a message to [EMAIL PROTECTED], NOT to the
list. List problems? Notify [EMAIL PROTECTED]
---------------------------------------------------------------------