小编Jer*_*oko的帖子

使用for list comprehension会返回意外结果

所以我试试这个代码

(for [x (range 1 8) y (range 1 8) :while (and (< x y) (even? x))] [x y])
Run Code Online (Sandbox Code Playgroud)

并回来()

但我试试这个:

(for [x (range 1 8) y (range 1 8) :while (and (< y x) (even? x))] [x y])
Run Code Online (Sandbox Code Playgroud)

我得到了理想的结果.改变x和y的位置有什么影响?第一个片段不应该返回一个空列表..毕竟必须有一些小于y的偶数x

list-comprehension clojure

4
推荐指数
1
解决办法
181
查看次数

从矢量建立一个地图

所以我有一个看起来像这样的矢量

["John" 23 "5551234" "Sally" 34 "5556667"]
Run Code Online (Sandbox Code Playgroud)

向量包含更多这样的条目,我想要做的是制作这样的地图矢量:

[{:name "John" :age 23 :ph "5551234"} {:name "Sally" :age 34 :ph "5556667"}]
Run Code Online (Sandbox Code Playgroud)

有没有办法实现这个目标?

functional-programming clojure

1
推荐指数
1
解决办法
130
查看次数

在go中使用数组,由于类型不匹配而无法编译代码

所以我正在尝试编译go中的forllowing代码,这是我几个小时前刚刚提到的

package main

import "fmt"

func main() {

    a := [...]float64{1, 2, 3, 4, 5, 6, 7, 8, 9, 10}
    sum := avg(a)
    fmt.Println(sum)

}

func avg(arr []float64) (sum float64) {
    for _, v := range arr {
        sum += v
    }
    sum = sum / float64(len(arr))
    return
}
Run Code Online (Sandbox Code Playgroud)

我得到一个错误,说我无法传递10元素长数组,因为函数是用[] float64数组定义的.有没有办法解决这个问题,还是我错过了一些明显的东西?

go

1
推荐指数
1
解决办法
95
查看次数

- Clojure - 当我运行这个fibonacci函数时出现错误,任何想法有什么问题?

我几个小时前拿起了clojure,我正试图让Fibonacci功能正常工作

这是我正在定义的功能

(defn fib [x]
  (if (or (= x 1) (= x 2))
    ((inc 0))
      ((+ (fib (- x 1)) (fib (- x 2))))

))
Run Code Online (Sandbox Code Playgroud)

我收到此错误: java.lang.Long cannot be cast to clojure.lang.IFn user/fib (NO_SOURCE_FILE:3)

虽然我对几乎所有语言结构都不熟悉,但就我所知,这似乎是正确的.知道什么是错的吗?

lisp functional-programming clojure

0
推荐指数
1
解决办法
34
查看次数