CLJS 版本的 shuffle 接受数组,但 CLJ 版本不接受。
CLJS 版本的 shuffle 接受 nil,但 CLJ 版本不接受。
这种行为可以统一。
提案
- 在 CLJ 中添加对数组的支持
- 在 CLJ 中添加对 nil 的支持并返回 nil 或 ()
- 在 CLJS 中对 nil 的行为应与 CLJ 相同:不要返回空向量,因为 nil 不会作为空向量处理。
- CLJS 版本支持字符串的 shuffle,但这可以认为是未定义的行为。
附带的补丁 CLJ-2470 添加了对 nil(也返回 nil)和 Java 数组的支持。
补丁 CLJ-2470-2 添加了更好的错误信息。
补丁: CLJ-2470-2.patch
预审: Alex Miller