Java Interop - один и тот же код возвращает разные значения
От: kokaku  
Дата: 27.02.25 09:18
Оценка:
Решил тут поиграться с прикручиванием Clojure в Java
Есть такой код:
public class Main {

    public static void main(String[] args) {
        var f1 = Clojure.var("clojure.core", "eval");
        var script =
                """
                        (=
                         "a1b2"
                         (clojure.string/join
                          (map
                           (fn [[a b]] (str a b))
                           (seq ctx))))
                        """;
        f1.invoke(Clojure.read("(defn test [ctx] " + script + ")"));
        var r = Clojure.var("clojure.core", "test")
                .invoke(Map.of("a", 1, "b", 2));

        System.out.println(r);
    }

}

Который на консоль выводит то true, то false
Что я делаю не так?

Заранее благодарен!
Отредактировано 27.02.2025 9:26 kokaku . Предыдущая версия .
clojure java
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.