4
나는 clojure에리스트를 가지고있다. (기본 자바 라이브러리로 인해) 반복자의 remove 메소드를 사용하여리스트를 수정해야한다. 클로저에서 (map fn seq)의 파괴적인 동등 물을 작성하는 것보다이 효과를 얻는 더 우아한 방법이 있습니까?바꿀 수있는 부분들
나는 clojure에리스트를 가지고있다. (기본 자바 라이브러리로 인해) 반복자의 remove 메소드를 사용하여리스트를 수정해야한다. 클로저에서 (map fn seq)의 파괴적인 동등 물을 작성하는 것보다이 효과를 얻는 더 우아한 방법이 있습니까?바꿀 수있는 부분들
Clojure 목록은 변경할 수 없으므로 변경 가능한 목록이 필요하면 Java가 제공하는 목록을 사용할 수 있습니다. 예를 들어
: 당신이이 목록을 사용하여 무엇
user=> (import java.util.LinkedList)
java.util.LinkedList
user=> (def a (list 3 6 1 3))
#'user/a
user=> (def b (java.util.LinkedList. a))
#'user/b
user=> b
#<LinkedList [3, 6, 1, 3]>
user=> (.remove b 6)
true
user=> b
#<LinkedList [3, 1, 3]>
? 그들은 기본 Java 목록이어야합니까? 그들은 얼마나 자주 돌연변이 하는가? –