Elixir 使用()调用没有参数的函数
调用不接受任何参数的函数时,使用或匹配括号的约定是什么Elixir 使用()调用没有参数的函数,elixir,Elixir,调用不接受任何参数的函数时,使用或匹配括号的约定是什么 function1(aaa) |> function2() |> function3() |> function4(bbb) # or function1(aaa) |> function2 |> function3 |> function4(bbb) 我认为,在这方面还没有公约 赞成 Elixir编译器警告调用链外没有括号的函数 使用局部变量重写不带括号的方法调用存在风险 _ 对立面 默认情
function1(aaa) |> function2() |> function3() |> function4(bbb)
# or
function1(aaa) |> function2 |> function3 |> function4(bbb)
我认为,在这方面还没有公约
赞成
编译器警告调用链外没有括号的函数Elixir
- 使用局部变量重写不带括号的方法调用存在风险
- 默认情况下,代码分析工具将报告带括号的零arity函数调用
代码本身似乎不使用括号Elixir
- 美学
依我拙见,“调用函数时使用括号”的经验法则几乎没有什么好处,而且对
信条的全局抑制也不值得。我个人不使用它们,除非它提高了可读性。希望能有帮助。如果算术数大于1,则不明确,但如果不是,我不确定是否有问题。@Andrewi,什么是约定我可能会补充一点想法——调用一个没有参数的函数()会让它更明显地表明它是一个函数而不是一个值。另一方面,因为这是长生不老药——不管怎样,函数和值都不太重要。
defmodule A do
def a, do: "¡Yay!"
def b1, do: IO.puts a
def b2 do
a = ":("
# 100 LOCs
IO.puts a
end
end
iex> A.b1
"¡Yay!"
iex> A.b2
":("