[質問]assocの動作

55 views
Skip to first unread message

一瀬昌史

unread,
Apr 20, 2013, 3:30:34 PM4/20/13
to cloju...@googlegroups.com
こんにちは。一瀬といいます。
ClojureDocs(http://clojuredocs.org/clojure_core/clojure.core/fn)を読んでいて分らない箇所があったので質問します。
分らないのは以下の箇所をREPLで試したら結果が異りました。どちらが正しい動作なのか教えて下さい。
==== ClojureDocs ======
user=> (reduce (fn [m [k v]] (assoc m v k)) {} {:b 2 :a 1 :c 3})
{2 :b, 1 :a, 3 :c}
==== REPL =====
user=> (reduce (fn [m [k v]] (assoc m v k)) {} {:b 2 :a 1 :c 3})
{2 :b, 3 :c, 1 :a}

Carlos Fontes

unread,
Apr 20, 2013, 4:24:47 PM4/20/13
to cloju...@googlegroups.com
こんにちは。カルロスといいます。

==== REPL =====
=> (class {2 :b, 3 :c, 1 :a})
clojure.lang.PersistentArrayMap

それにPersistentArrayMapはじゅんじょふどうです。それで二つともいいです。



2013/4/20 一瀬昌史 <ichise....@gmail.com>

--
このメールは Google グループのグループ「clojure-ja」の登録者に送られています。
このグループから退会し、メールの受信を停止するには、clojure-ja+...@googlegroups.com にメールを送信します。
その他のオプションについては、https://groups.google.com/groups/opt_out にアクセスしてください。
 
 

bouzuya

unread,
Apr 21, 2013, 3:59:54 AM4/21/13
to cloju...@googlegroups.com
付け足しておくと、どちらも同じもの扱いなので、= で true が返されますよ。
(= {2 :b, 1 :a, 3 :c} {2 :b, 3 :c, 1 :a}) ; => true

Reply all
Reply to author
Forward
0 new messages