replでdefonce varをどのようにオーバーライド(再定義)できますか?は、レプリケート時にdefonce varに乗って
> (defonce moo "MOO")
> moo
>> "MOO"
> (defonce moo "CHANGED MOO")
> nil
> moo
>> "MOO"
おかげ
replでdefonce varをどのようにオーバーライド(再定義)できますか?は、レプリケート時にdefonce varに乗って
> (defonce moo "MOO")
> moo
>> "MOO"
> (defonce moo "CHANGED MOO")
> nil
> moo
>> "MOO"
おかげ
それは常に間違いのように見えるので、私は、def
とdefonce
D」のVARを再定義しないでしょう..あなたが意図的にそれを行う場合(あなたが本当に何らかの理由でそれを必要としている場合)、おそらくそれを強調したいでしょう。 alter-var-root
を使用して、同じように:
user> (defonce a 10)
#'user/a
user> (alter-var-root #'a (constantly 20))
20
あなたは私の意見では正しいですが、私は両方の方法が等価であることに注意したいのですが、それは純粋文体の決定です。 –
が合意したので、私は可能性のあるエラーの類似性を言及したのです。私はいつも想像してみてください。私のコードを1年でどう読むのでしょうか?それは間違いかどうかを考えるでしょう。コメントはおそらくトリックを行うだろう) – leetwinski
うん、私が言ったように、私はあなたに同意する。 :) –