1. ホーム
  2. clojure

[解決済み] clojureの::は何に使われるのですか?

2023-04-11 07:45:36

質問

私はClojureのキーワードは :keyword . しかし :: は何に使われているのでしょうか?なぜ、バインディングがあるように見えるのでしょうか?

user=> :foo
:foo
user=> ::foo
:user/foo

どのように解決するのですか?

ダブルコロンがある でキーワードを修飾しています。 を現在の名前空間で修飾します。これは、異なるライブラリで意味を持つキーワードの名前の衝突を避けるためのものです。完全修飾キーワードを使用しないと、誤ってマップ内の値を上書きしてしまい、ライブラリとの互換性が損なわれる可能性があります。