建议更换Elixir中的is_regex调用
有人能帮我换一个长生不老药的防护罩吗建议更换Elixir中的is_regex调用,elixir,Elixir,有人能帮我换一个长生不老药的防护罩吗 def contains(collection,element) do r = case collection do c when is_tuple(c) -> element in tuple_to_list(c) c when is_list(c) -> element in c c when is_regex(element) -> Regex.ma
def contains(collection,element) do
r = case collection do
c when is_tuple(c) -> element in tuple_to_list(c)
c when is_list(c) -> element in c
c when is_regex(element) -> Regex.match?(element, c)
c when is_bitstring(element) -> String.contains?(c, element)
end
if (not r), do: Message.fail(collection, element, __ENV__.function)
end
谢谢您可以在它的位置使用
Regex.Regex?(元素)
。但是Regex.Regex?
不能用作保护条件,对吗?这就是我的问题。正确,Erlang(因此Elixir)只允许在guards中进行有限的调用:在即将推出的Elixir版本中,您将能够在%Regex{}
上进行匹配。但是现在由于我们处于记录和结构之间,我们需要依赖这些函数。