在clojure的ARef
实现中,有三种方法
void setValidator(IFn vf);
IFn getValidator();
void validate(IFn vf, Object val)
这些方法有什么用?
最佳答案
验证器函数是一个自变量函数,将在发布ARef的新值(var / ref / agent / atom)之前调用。如果函数返回false或引发异常,则不会更改ARef的值。
getter对应于核心函数get-validator
,setter对应于set-validator!
。 validate
由clojure代码调用,因此您无需调用它。
有关示例,请参见the clojure docs
关于clojure - ARef中使用的验证方法是什么?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12850650/