Clojure 1.6.0에 소개되었습니다. Java 프로젝트에 Clojure 기능을 일부 가져 오려고합니다. 불행히도 자바에서 조건부 함수 및 및 또는을 호출 할 때 예상대로 작동하지 않습니다.예기치 않은 동작이 clojure.java.api.Clojure
IFn and = Clojure.var("clojure.core", "and");
IFn or = Clojure.var("clojure.core", "or");
-- equivalent to (and true false) in clojure
and.invoke(true,false); --> returns true rather than false???
-- equivalent to (or true false) in clojure
or.invoke(true,false); --> returns null rather than true???
-- equivalent to (and true true) in clojure
and.invoke(true,true); --> returns true as expected
-- equivalent to (or true true) in clojure
or.invoke(true,true); --> returns null rather than true???
나는 이것이 버그라는 것을 믿을 수 없다. 그래서 나는 API와 관련하여 상당히 근본적인 것이 빠져 있다고 생각한다. 그 원인이 무엇이든간에 그것은 혼란 스럽습니다. 누구든지 설명을 해줄 수 있다면 매우 감사 할 것입니다.
감사합니다.
매트.
는'and'-줄이고'인'and'을 원래'or'의 단락의 의미를 풀어 or'이-줄일 것을 고려 때로는 의지합니다. –