2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!有关如何使用此功能的信息,请参阅关于 页面。

0
Clojure

Kotlin 有一个 '?' 运算符,可以用来处理可空类型。

fun f(nullable: String?) {
  val nullable_length = nullable?.length;
  val length_or_zero = nullable_length ?: 0;
  val prefixed_nullable = nullable?.let {
    "prefix_" + it
  }
}

在这里,nullable_length 要么是整数,要么是 null。如果它是 null,则 length_or_zero 要么是字符串的长度,要么是 0。根据它是否是 null,prefixed_nullable 要么是 null,要么是带有前缀的原字符串。

Clojure 中处理 nil 的这个功能的等价功能是什么?

1 个回答

+2

编辑

可能是 some->some->>

(some-> "foo" (.length)) ;;=> 3
(some-> nil (.length)) ;;=> nil
并且那些包围 `.length` 和 `.-length` 的括号是可选的。
这是真的,谢谢你添加这个
...