gpt4 book ai didi

clojure - 我自己的插入函数作为练习

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

我正在解决一个 4Clojure 练习,该练习要求您构建自己的插入函数。我的回答如下:

(fn my-interpose 
([separator input] (my-interpose separator input nil))
([separator input result]
(if
(empty? input)
(reverse (rest result))
(my-interpose separator (rest input) (cons separator (cons (first input) result))))))

我一边读一本 Clojure 书,一边做这些练习来学习这门语言。我想知 Prop 有该语言经验的人对我的代码的看法。我可以避免反向调用吗?对于这种代码,我是否几乎没有打破任何约定?

最佳答案

您所拥有的是一个很好的正确起点:)。出色的工作。

从您拥有的东西开始,您可能想要:

  • 将递归调用替换为对 recur 的调用,因为按照编写,它将遇到堆栈溢出

    (defn foo [stuff]
    (dostuff ... )
    (foo (rest stuff)))

    变成:

    (defn foo [stuff]
    (dostuff ...)
    (recur (rest stuff)))

    避免堆栈被破坏。这通常会变成:

    ( map Material )

  • for 函数完全替换回避

    (for [a one-list b another-list]
    (dont-give-away-the-answer))

关于clojure - 我自己的插入函数作为练习,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7574416/

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