Elixir中的函数参数中的双反斜杠是什么意思?

诺娜

我最近遇到了一个代码片段,例如:

def loop(ring_pid \\ self, nil, true) do
  #some code 
end

双反斜杠是什么意思?我四处搜寻发现http://elixir-lang.org/getting-started/sigils.html,但这适用于正则表达式而不是函数参数。

火腿三明治

指定一个默认值

\\在参数名称之后使用定义的函数参数提供了可选的默认值。因此,如果调用loop / 2,则第一个参数将是从返回的pid self()如果调用loop / 3,则需要指定一个pid。

让我们再举一个(琐碎的)例子:

数学

defmodule Math do   
  def add(a \\ 2, b) do
    a + b   
  end 
end

iex (1)> c("math.ex")

iex (2)> Math.add(1, 8) # add/2, because you are matching 1 to `a`.
9

iex (3)> Math.add(8) # add/1, because `a` is by default matched to 2.
10

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

在Linux中,“ cd //”中的双斜杠//是什么意思?

长生不老药中的双反斜杠是什么意思?

文件路径中的双斜杠是什么意思?

.npmrc中以双斜杠'//'开头的行是什么意思?

$ {f // / __``中的双斜杠是什么意思?

C ++中的反斜杠是什么意思?

文件路径中存在反斜杠是什么意思?

这个 bash 命令中的反斜杠是什么意思?

下面这段代码中的反斜杠是什么意思?

参数require.resolve()中的斜杠是什么意思?

Elixir中的斜杠表示什么意思?

没有LHS的“双右箭头类型”在函数参数中是什么意思

在Python函数中,参数中单独的*是什么意思

Elixir中的“?\ s”是什么意思?

robots.txt中的双斜杠(//)目录是什么意思?

python函数参数中的“或”是什么意思?

函数文档的参数中的方括号是什么意思?

clearText函数中的“ e”参数是什么意思?

斜杠双下划线斜杠是什么意思?/ __ /

如果PHP中的(\ false)(是,带反斜杠)是什么意思?

在正则表达式中,反斜杠后加重音符是什么意思?

字符串文字中的反斜杠是什么意思?

星号,反斜杠,冒号和(* \:2)中的两个是什么意思?

Postgresql函数中的“ $$”是什么意思?

R中%>%函数是什么意思?

在 c 函数中 ... 是什么意思

在IP中,正斜杠后跟数字是什么意思?

Linux中的./是什么意思(点斜杠)?

在haskell中,正斜杠是什么意思?