在OS XI上使用Elixir V1.1.1时,我难以理解Elixir函数定义语法。
给定一个函数定义:
def foobar(arg1, arg2), do: <<something>> end
在某些情况下,似乎需要使用括号后的逗号,而在其他情况下则不需要。同样,冒号在“做”之后,同样在结束“结束”之后。我敢肯定,我的情况过于复杂了,但这对于编程语言来说似乎是一个怪异的设置。
这些元素在什么情况下是必需/可选的?
您在此处组合了两种形式的方法定义-较短的单行语法和较长的do
/end
语法。
如果您使用单行方法,则可以编写如下内容:
def foobar(foo, bar), do: baz
请注意逗号,而不是end
。
如果您有多行方法,则语法略有不同:
def foobar(foo, bar) do
foo
bar
end
注意没有逗号和的位置end
。
此处介绍了这两种类型:http : //elixir-lang.org/getting-started/modules.html#named-functions(请注意Math.zero?/1
,“函数捕获”标题下的长格式和短格式)
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句