Clojure到Scala类型的转换

时间:2013-06-30 17:32:31

标签: scala clojure

我在将Clojure Seq转换为Scala Seq时遇到问题。似乎应该有一个简单的方法来做到这一点。

(let [animals ["dog" "cat" "pig"]]
  (to-scala-seq animals))

我的目标是在Clojure项目中使用twitter's algebird

1 个答案:

答案 0 :(得分:4)

因为Clojure和Scala都在JVM上运行,所以这很简单:

 (ns scala-from-clojure.core
   (:import (scala.collection JavaConversions)))

 (defn to-scala-seq [coll]
   (-> coll JavaConversions/asScalaBuffer .toList))

在REPL

user=> (use 'scala-from-clojure.core)
nil
user=> (to-scala-seq [1 2 3])
#<$colon$colon List(1, 2, 3)>
user=> (instance? scala.collection.immutable.Seq *1)
true

How to create a scala.collection.immutable.Seq from a Java List in Java?