gpt4 book ai didi

clojure关于流程控制语句的方式

转载 作者:行者123 更新时间:2023-12-02 12:16:03 25 4
gpt4 key购买 nike

假设我有一个像这样的Python函数:

def required(value):
if value is None:
throw Exception
if isintance(value, str) and not value:
throw Exception
return value

基本上我想检查该值是否为空。如果该值是字符串,还要检查它是否为空。

clojure 做这样的事情的方式是什么?

最佳答案

Clojure 执行此类操作的方式抛出异常等。惯用的方式是返回nil,而不返回任何其他内容。

所以我的建议:毫无异常(exception)地这样做。

您的函数将如下所示:

(defn required [value]
(when (string? value)
value))

它检查值的类型,如果它不是字符串,则返回nil。否则返回您的值。

或者如果您想在终端中显示错误消息:

(defn required [value]
(if (string? value)
value
(println "Value must be a String.")))

请注意,println 打印字符串,然后再次返回nil

关于clojure关于流程控制语句的方式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22232136/

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