Jess File I/O Functions
List of file input/output functions that can be executed by Jess.
8.31. (close [<router-identifier>])
- Package:
-
Intrinsics
- Arguments:
-
One or more router identifiers (atoms)
- Returns:
-
TRUE
- Description:
-
Closes any I/O routers associated with the given name by calling close()
on the underlying stream, then removes the routers. Any subsequent attempt
to use a closed router will report bad router. See open.
8.60. (format <router-identifier> <string-expression> <expression>*)
- Package:
-
MiscFunctions
- Arguments:
-
A router identifier, a format string, and zero or more arguments
- Returns:
-
A string
- Description:
-
Sends formatted output to the specified logical name. Formats the arguments
into a string according to the format string, which is identical to that
used by printf in the C language (find a C book for more information).
Returns the string, and optionally prints the string to the named router.
If you pass nil for the router name, no printing is done.
8.64. (get-multithreaded-io)
- Package:
-
Intrinsics
- Arguments:
-
None
- Returns:
-
Boolean
- Description:
-
Returns TRUE is Jess is currently using a separate thread to flush I/O
streams. Turning this on can lead to a modest performance enhancement,
at the expense of possible loss of output on program termination.
8.101. (open <file-name> <router-identifier> [r|w|a])
- Package:
-
Intrinsics
- Arguments:
-
A file name, an identifier for the file (an atom), and optionally a
mode string, one of r, w, a.
- Returns:
-
The file identifier, a router name.
- Description:
-
Opens a file. Subsequently, the given router identifier can be passed to
printout, read, readline, or any other functions
that accept I/O routers as arguments. By default, the file is opened for
reading; if a mode string is given, it may be opened for reading only (r),
writing only (w), or appending (a).
Note: See the batch command for a
discussion about specifying filenames in Jess.
8.108. (printout <router-identifier> <expression>*)
- Package:
-
Intrinsics
- Arguments:
-
A router identifier followed by zero or more expressions
- Returns:
-
nil
- Description:
-
Sends unformatted output to the specified logical name. Prints its arguments
to the named router, which must be open for output. No spaces are added
between arguments. The special atom crlf prints as a newline.
The special router name t can be used to signify standard output.
8.111. (read [<router-identifier>])
- Package:
-
Intrinsics
- Arguments:
-
An optional input router identifier (when omitted t is the default)
- Returns:
-
(Varies)
- Description:
-
Reads a single-field value from a specified logical name. Read a single
atom, string, or number from the named router, returns this value. The
router t means standard input. Newlines are treated as ordinary
whitespace; this behaviour is different than in CLIPS, which returns newlines
as tokens. If you need to parse text line-by-line, use readline
and explode$.
8.112. (readline [<router-identifier>])
- Package:
-
Intrinsics
- Arguments:
-
An optional input router identifier (when omitted t is the default)
- Returns:
-
String
- Description:
-
Reads an entire line as a string from the specified logical name (router).
The router t means standard input.
8.128. (set-multithreaded-io (TRUE | FALSE))
- Package:
-
Intrinsics
- Arguments:
-
Boolean
- Returns:
-
Boolean
- Description:
-
Specify whether Jess should use a separate thread to flush I/O
streams. Turning this on can lead to a modest performance enhancement,
at the expense of possible loss of output on program
termination. Returns the previous value of this property.
8.137. (socket <Internet-hostname> <TCP-port-number> <router-identifier>)
- Package:
-
MiscFunctions
- Arguments:
-
An Internet hostname, a TCP port number, and a router identifier
- Returns:
-
The router identifier
- Description:
-
Somewhat equivalent to open, except that instead
of opening a file, opens an unbuffered TCP network connection to the named
host at the named port, and installs it as a pair of read and write routers
under the given name.