gpt4 book ai didi

在 Clojure 中对拉丁字符串进行排序

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

我在 REPL 中做了这个实验:

(sort ["maa" "ácw" "ijl" "aez" "jkl"])

我得到了这个:

("aez" "ijl" "jkl" "maa" "ácw")

正确答案是:

("ácw" "aez" "ijl" "jkl" "maa")

有没有办法在 Clojure 中对拉丁字符串进行原生排序?如果不是为什么不呢?

看,我没有问如何排序,我知道我可以通过管道传递 seq 并替换非 ANSI 字符。

最佳答案

您可以使用Collator类,在 REPL 上:

=> (import java.util.Locale)
java.util.Locale
=> (import java.text.Collator)
java.text.Collator
=> (def collator (Collator/getInstance (Locale. "pt_BR")))
#'user/collator
=> (sort collator ["maa" "ácw" "ijl" "aez" "jkl"])
("ácw" "aez" "ijl" "jkl" "maa")

在此示例中,我使用巴西语 Locale 。您需要将此区域设置更改为您想要使用的区域设置。有一个受支持的区域设置列表 here .

关于在 Clojure 中对拉丁字符串进行排序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28455712/

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