JRuby 中的 Clojure; Java::ClojureLang::PersistentArray 到 Ruby 哈希
Clojure in JRuby; Java::ClojureLang::PersistentArray to Ruby Hash
如何将 Java::ClojureLang::PersistentArray 映射转换为 ruby 数组?
正如您将在下面看到的,我得到一个类似散列的 return,其中 Java::ClojureLang::Keyword 作为键,集合的部分作为值。
require 'jrclj'
clj = JRClj.new
clj._import "tester.core"
x = clj.check("66 61 value")
binding.pry
#PRY
[1] pry(main)> x
=> {97=>{#<Java::ClojureLang::Keyword:0x6d6b6e88>=>66, #<Java::ClojureLang::Keyword:0x4d426dd8>=>61, #<Java::ClojureLang::Keyword:0x481d2264>=>{#<Java::ClojureLang::Keyword:0x47c27c3c>=>"value",
[2] pry(main)> x.class
=> Java::ClojureLang::PersistentArrayMap
因为 implements Map
只需做一个 x.values.to_a
如何将 Java::ClojureLang::PersistentArray 映射转换为 ruby 数组? 正如您将在下面看到的,我得到一个类似散列的 return,其中 Java::ClojureLang::Keyword 作为键,集合的部分作为值。
require 'jrclj'
clj = JRClj.new
clj._import "tester.core"
x = clj.check("66 61 value")
binding.pry
#PRY
[1] pry(main)> x
=> {97=>{#<Java::ClojureLang::Keyword:0x6d6b6e88>=>66, #<Java::ClojureLang::Keyword:0x4d426dd8>=>61, #<Java::ClojureLang::Keyword:0x481d2264>=>{#<Java::ClojureLang::Keyword:0x47c27c3c>=>"value",
[2] pry(main)> x.class
=> Java::ClojureLang::PersistentArrayMap
因为 implements Map
只需做一个 x.values.to_a