nth
関数の一般化を探しています。 ありジュリアでの素敵な機能があると私はClojureので同等見つけるのトラブルを抱えている:INDSで指定されたインデックスの集合に基づいて配列値を取得する
getindex(A、INDSは...)、配列Aのサブセットを返し、 どこ各IND Int、Range、Vectorのいずれかです。
これは、この質問に関連している: Clojure Remove item from Vector at a Specified Location
nth
関数の一般化を探しています。 ありジュリアでの素敵な機能があると私はClojureので同等見つけるのトラブルを抱えている:INDSで指定されたインデックスの集合に基づいて配列値を取得する
getindex(A、INDSは...)、配列Aのサブセットを返し、 どこ各IND Int、Range、Vectorのいずれかです。
これは、この質問に関連している: Clojure Remove item from Vector at a Specified Location
map
すでにお望みのことをします。 (map v indices)
は、ベクトルをそのインデックスの関数として扱うことができるため、意図した通りに機能します。
ベクトルだけでなくマップ用のTrueもあります。 – Thumbnail
これはあなたが必要なものをやるん:
(defn get-nths [xs ns]
(for [n ns]
(nth xs n)))
?ベクトル、範囲と一つだけのため
例:ベクターでの
(defn x []
(vector
(get-nths [:a :b :c :d :e] [2 4])
(get-nths [:a :b :c :d :e] (range 3))
(get-nths [:a :b :c :d :e] [0])))
(x)
;; => [(:c :e) (:a :b :c) (:a)]
あなたもselect-keys
を使用することができます。場合によっては非常に役立つことがあります:
user> (select-keys [:a :b :c :d] [0 1])
{0 :a, 1 :b}
私はこれが有用であることを理解します。他の言語と同じように、Clojureでは型安定性も重要ではないことは驚きです。 – m33lky
'Julia'の' getindex'の記述は、[言語ウェブサイトのもの](http://docs.julialang.org/ja/stable/stdlib/collections/?highlight=getindex)には対応していません。 #Base.getindex)。 – Thumbnail
@Thumbnail以前のバージョンからコピーしました。それは同じように動作します。 – m33lky