JESS Userfunction 将 "BS" 而不是 "/home" 写入文件

JESS Userfunction writes "BS" instead of "/home" to a file

我将 JESS 用于我的专家系统实现,并且我有一个用户函数。它将一些字符串写入文本文件。

public Value call(ValueVector vv, Context context) throws JessException {

    Rete engine = context.getEngine();      
    int size = vv.size();

    for(i = 0; i < size-1; i++)
        params[i] = vv.get(i+1).stringValue(context); 

    engine.eval("(printout file " + params[2] + ")");
return new Value(params[1], RU.STRING);
}

params[2]/home/username/folder 作为内容。当它打印到一个文件时,我在文件中得到以下内容。顺便说一句,BS 有黑色背景。

BSusername/folder

我不确定这里发生了什么。有什么想法吗?

另外,我从JESS代码打印出来的时候从来没有遇到过这个问题

未加引号的文本 /home/ 正在被解析为正则表达式;印刷值有些不可预测。您需要在内置命令中包含双引号,以便将路径视为带引号的字符串。