小编rod*_*ece的帖子

什么是计算组合的Julia函数(n选择k)?

我正在寻找Julia中的(希望内置)函数来计算组合的数量

nChooseK

我显然可以使用阶乘法来实现自己,但我几乎可以肯定有人已经对此感到担忧.

counting combinatorics julia

10
推荐指数
2
解决办法
3866
查看次数

Go:地图的类型断言

我正在从 JSON 读取数据结构。有一些转换正在进行,最后我有一个struct字段是 type 的地方interface{}。它实际上是一张地图,所以 JSON 将它放在一个map[string]inteface{}.

我实际上知道底层结构是map[string]float64并且我想这样使用它,所以我尝试做一个断言。以下代码重现了该行为:

type T interface{}

func jsonMap() T {
    result := map[string]interface{}{
        "test": 1.2,
    }
    return T(result)
}

func main() {
    res := jsonMap()

    myMap := res.(map[string]float64)

    fmt.Println(myMap)
}
Run Code Online (Sandbox Code Playgroud)

我收到错误:

panic: interface conversion: main.T is map[string]interface {}, not map[string]float64
Run Code Online (Sandbox Code Playgroud)

我可以执行以下操作:

func main() {
    // A first assertion
    res := jsonMap().(map[string]interface{})

    myMap := map[string]float64{
        "test": res["test"].(float64), // A second assertion
    }

    fmt.Println(myMap)
}
Run Code Online (Sandbox Code Playgroud)

这工作正常,但我发现它非常难看,因为我需要重建整个地图并使用两个断言。有没有正确的方法来强制第一个断言放弃interface{}并使用float64 …

dictionary go assertion

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

朱莉娅:用布尔代数计算内积

我有两个布尔向量a = [1,1,1]b = [0,1,1]地方显然1代表true0false.

我想用布尔代数计算它们的内积.因此,我想要的结果

1*0 + 1*1 + 1*1 = 0 + 1 + 1 = 0
Run Code Online (Sandbox Code Playgroud)

因为加法扮演排他性或(XOR)的角色.

我知道产品部分可以像这样完成

a = [true, true, true] # could also use ones(Bool, 3)
b = [false, true, true]

bitwise_prod = a & b
Run Code Online (Sandbox Code Playgroud)

但我不知道怎么做.有任何想法吗?

boolean-operations julia

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