Elixir 什么';“这就是”的意思&引用&引用&引用&引用_&引用;,及"&引用;长生不老药中的语法
关于理解elixirElixir 什么';“这就是”的意思&引用&引用&引用&引用_&引用;,及"&引用;长生不老药中的语法,elixir,Elixir,关于理解elixir中的以下语法,我需要帮助,?,和。 这些语法在长生不老药的功能中扮演什么角色?例如Repo.get 我不确定它们是函数名还是角色。虽然我知道是用来调用匿名函数的。和\uu用于任何或可变的?-故障时引发异常的函数的约定 ?-返回布尔值的函数的约定 。-用于忽略参数或模式匹配表达式的一部分 -如您所述,它用于调用匿名函数,但也用于访问模块函数,例如Mod.a(arg)首先和? 它们是命名约定,通常应用于函数名的末尾,不是任何特殊语法 -如果函数遇到错误,将引发异常 一个很好的例子
中的以下语法,我需要帮助代码>,?
,
和
。
这些语法在长生不老药的功能中扮演什么角色?例如Repo.get代码>
我不确定它们是函数名还是角色。虽然我知道
是用来调用匿名函数的。和\uu
用于任何或可变的?代码>-故障时引发异常的函数的约定
?
-返回布尔值的函数的约定
。
-用于忽略参数或模式匹配表达式的一部分
-如您所述,它用于调用匿名函数,但也用于访问模块函数,例如Mod.a(arg)
首先和?
它们是命名约定,通常应用于函数名的末尾,不是任何特殊语法
-如果函数遇到错误,将引发异常
一个很好的例子是(它也有一个不会引发异常的元素)。在给定索引处查找元素(从零开始)。
如果给定位置超出集合的范围,则引发OutOfBoundsError
?-用于显示函数将返回布尔值,true或false。一个很好的例子是,如果函数对任何值都为true,则返回true,否则返回false
。
-这将忽略函数或模式匹配中的参数。如果您愿意,可以在下划线.Ex-\u base之后命名
这通常用于尾部递归函数的末尾。幂函数就是一个很好的例子。如果你想把任何一个数字的基数提高到0,结果就是1,所以基数是多少并不重要
defp getPower(_base,0), do: 1
-用于访问模块内的任何函数,或按照您的建议调用匿名函数
iex(1)> square = fn(number) -> number * number end
iex(2)> square.(4)
以\uu
开头的变量(如\u foobar
)与仅由\u
组成的变量(如def foo(\uu,\u bar)do,\u bar end
)之间确实存在着重大差异。尝试使用\uuuu
会导致编译时“未绑定变量”错误。带有下划线(\u bar
)前缀的变量用于防止对未使用的变量发出警告,并且不会阻止编译。它们的使用只会产生一个警告:“警告:带下划线的变量”\u bar“在设置后使用。前导下划线表示应忽略该变量的值…”“是否有任何原因是\u integer没有问号?”@请注意:getPower
函数可以使用模式匹配:defpgetpower(_base,0),do:1