(= (__ '((1 2) 3 [4 [5 6]])) '(1 2 3 4 5 6)) 填...

csophys

来自: csophys 2012-07-16 22:26:35

标题:(= (__ '((1 2) 3 [4 [5 6]])) '(1 2 3 4 5 6)) 填什么?
×
加入小组后即可参加投票
  • atlarge

    atlarge (心有挂碍) 2012-07-16 23:22:20

    那个不让你使用已有库函数的,所以告警,flatten不允许使用。
    你要自己实现一个类似flatten的匿名函数

  • csophys

    csophys 2012-07-17 18:31:35

    多谢……

  • gadmyth

    gadmyth (这才是我的五一节 2013-05-01) 2013-01-14 14:23:31

    (fn flat-1 [list]
    (reverse
    ((fn flat [list cum]
    (let [a (first list) b (rest list)]
    (if (nil? a) cum
    (if-not (sequential? a) (flat b (cons a cum)) (flat b (flat a cum)))))) list [])))

    感觉自己写得太复杂了

  • jiuren

    jiuren 2013-03-02 02:01:28

    (fn flato
    [x]
    (cond (not (coll? x)) [x]
    (not (empty? x)) (into (flato (first x)) (flato (rest x)))))

  • redraiment

    redraiment 2013-03-02 09:04:59

    (fn i-flatten [lst]
    (mapcat #((if (coll? %) i-flatten list) %) lst))

你的回应

回应请先 , 或 注册

812 人聚集在这个小组
↑回顶部