gpt4 book ai didi

Elixir - 函数定义的语法是什么?

转载 作者:行者123 更新时间:2023-12-05 08:57:17 26 4
gpt4 key购买 nike

在 OS X 上使用 Elixir V1.1.1 我在理解 Elixir 函数定义语法时遇到了问题。

给定一个函数定义:

def foobar(arg1, arg2), do: <<something>> end

似乎在某些情况下括号后的逗号是必需的,而其他时候则不是。同样,“do”之后的冒号和结束的“end”也是如此。我确信我把情况复杂化了很多,但这似乎是一种编程语言的奇怪设置。

这些元素在什么情况下是必需的/可选的?

最佳答案

您在那里组合了两种形式的方法定义 - 较短的单行语法和较长的 do/end 语法。

如果你有一个单行的方法,你可以这样写:

def foobar(foo, bar),执行:baz

注意逗号,没有end

如果你有一个多行方法,语法会略有不同:

def foobar(foo, bar) do
foo
bar
end

注意没有逗号和 end 的位置。

此处描述了两种类型:http://elixir-lang.org/getting-started/modules.html#named-functions (注意 Math.zero?/1 的长格式,以及“函数捕获”标题下的短格式)

关于Elixir - 函数定义的语法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33983394/

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