gpt4 book ai didi

clojure - ARef 中的 validate 方法的用途是什么?

转载 作者:行者123 更新时间:2023-12-02 21:08:48 26 4
gpt4 key购买 nike

在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 中的 validate 方法的用途是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12850650/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com