我在长生不老药中定义了一些结构,现在我想以自己决定的方式比较这些结构。
基本上,我想为定义的结构编写>,> =,<,<=和==。
这可能吗?
不,不可能。但是,您可以使用Enum.sort/2
或进行任何排序Enum.sort_by/2
。例如:
iex> Enum.sort_by [%{name: "foo"}, %{name: "bar"}], fn data -> data.name end
[%{name: "bar"}, %{name: "foo"}]
您还可以在模块中定义一个进行正确比较的比较函数,类似于Elixir中的Version模块的工作方式:
iex> Version.compare "1.0.0", "2.0.0"
:lt
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句