gpt4 book ai didi

Elixir 中的递归和匿名函数

转载 作者:行者123 更新时间:2023-12-04 00:59:21 25 4
gpt4 key购买 nike

我正在尝试定义一个匿名函数来做一个点积,我可以将它编码为一个私有(private)函数而没有任何问题,但我正在努力使用匿名函数语法。
我知道我可以以不同的方式实现这一点,但我试图了解如何使用模式匹配和递归来定义匿名函数。
这是我目前的实现

dot = fn
[i|input],[w|weights], acc -> dot.(input,weights,i*w+acc)
[],[bias],acc -> acc + bias
end

我在编译时收到此错误:
function dot/0 undefined

有什么提示吗?这是不可能的吗?

最佳答案

Elixir 中的匿名函数不可能重复出现。

Erlang 17(目前是一个候选版本)为 Erlang 添加了这种可能性,我们计划很快利用它。现在,最好的方法是定义一个模块函数并传递它:

def neural_bias([i|input],[w|weights], acc) do
neural(input,weights,i*w+acc)
end

def neural_bias([], [bias], acc) do
acc + bias
end

进而:
&neural_bias/3

关于Elixir 中的递归和匿名函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21982713/

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