你好!很抱歉如果这个论坛不是开启此类贴的合适场所,但我是 Clojure/Lisp 的一般初学者,并认为这是一个很好的机会来挑战自己学习一点东西。
所以我已经开始了一天,并解决了问题(在本质上,给定一个由双空格分隔的数字列表,找到其中的最大和),但这看起来是 Clojure 中处理这个问题的最不优雅的方式。
例如,以下回答将是 300
10
20
100
200
我的解决方案如下,我主要想知道
- 这样解决这个问题的方法对初学者来说是否合理,我漏掉了什么会使它更加优雅。
- 如何格式化这样的行呢?
(以下是隐藏内容,如有其他人对这个挑战感兴趣)
(require '[clojure.string :as str])
(reduce max (map (fn [x] (reduce + (map #(Integer/parseInt %) (str/split x #"\n")))) (str/split (slurp "./input-1.txt") #"\n\n")))
我希望,时间允许的话,能够继续这个旅程到月底,因此我希望能够面对这些挑战,因为即使是我熟悉的语言,这些挑战也相当复杂,但可以预见的是,REPL 真的是一个奇妙的东西。