将输入绑定到函数规范中的输出类型
Binding input to output type in function specification
我目前正在尝试自学如何编写 Elixir 程序。
我开始想知道是否有办法将函数的输出类型绑定到输入参数的类型。我习惯于做这样的事情:
public virtual T Foo<T>(List<T> bar)
如果有类似的方法,我希望:
@spec foo(t) :: t
def foo(bar), do: baz
我一直认为它是
@spec foo(bar) :: bar when bar: any()
为模块具有关联类型保留 t()
。
我目前正在尝试自学如何编写 Elixir 程序。 我开始想知道是否有办法将函数的输出类型绑定到输入参数的类型。我习惯于做这样的事情:
public virtual T Foo<T>(List<T> bar)
如果有类似的方法,我希望:
@spec foo(t) :: t
def foo(bar), do: baz
我一直认为它是
@spec foo(bar) :: bar when bar: any()
为模块具有关联类型保留 t()
。