如何定义具有未使用参数的elixir函数的规范?
即使参数未在函数体中使用,我是否可以用这种方式定义函数参数的类型?是的,您可以这样做,并且在语法上是有效的。如何定义具有未使用参数的elixir函数的规范?,elixir,Elixir,即使参数未在函数体中使用,我是否可以用这种方式定义函数参数的类型?是的,您可以这样做,并且在语法上是有效的。@spec属性应包含在一个位置收集的所有预期输入和输出。在这种情况下,您是在对透析器(并隐式地对代码的读取器)说,此函数将只接受字符串 问题是你为什么要这么做?如果不需要这些参数,为什么要接受它们?如果这是最后一个子句,则一切正常,因为该函数还有其他定义,它们只接受字符串,因此@spec是有效的。如果允许任何参数,则可以在定义中使用typeany() @spec another(Strin
@spec
属性应包含在一个位置收集的所有预期输入和输出。在这种情况下,您是在对透析器
(并隐式地对代码的读取器)说,此函数将只接受字符串
问题是你为什么要这么做?如果不需要这些参数,为什么要接受它们?如果这是最后一个子句,则一切正常,因为该函数还有其他定义,它们只接受字符串,因此
@spec
是有效的。如果允许任何参数,则可以在定义中使用typeany()
@spec another(String.t, String.t) :: String.t
def another(_para1, _para2) do
IO.puts "this is a test"
end
是的,这对你不管用吗?
@spec another(any(), any()) :: String.t