2015-05-04 4 views
0

Я использую JESS для моей реализации экспертной системы, и у меня есть пользовательская функция. Он записывает некоторые строки в текстовый файл.JESS Userfunction пишет «BS» вместо «/ home» в файл

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/папки

Я не уверен, что здесь происходит. Есть идеи?

Кроме того, у меня никогда не было этой проблемы, когда я распечатывал код JESS.

ответ

1

Не отсортированный текст /home/ анализируется как регулярное выражение; печатное значение несколько непредсказуемо. Вам нужно включить двойные кавычки в свою встроенную команду, чтобы путь рассматривался как строка с кавычками.