gpt4 book ai didi

pattern-matching - Elixir 方法模式匹配字符串包含

转载 作者:行者123 更新时间:2023-12-04 08:33:15 25 4
gpt4 key购买 nike

有没有办法在参数匹配中让字符串包含/正则表达式?
例如,字符串是“发生了一些错误”。但我希望它与子字符串“发生错误”相匹配。我试过这个,但它不起作用:

  defp status({:error, ~r/error happened/}, state) do

end

最佳答案

不,使用模式匹配或保护函数都不能完成 String contains 和 Regex 匹配。您最好的选择是匹配 {:error, error}在模式中并使用例如在函数内部进行字符串匹配cond :

defp status({:error, error}, state) do
cond do
error =~ "error happened" -> ...
...
end
end

在模式匹配中可以做的是前缀匹配。如果这对你来说足够好,你可以这样做:
defp status({:error, "error happened" <> _}, state) do

这将匹配任何以 "error happened" 开头的字符串.

关于pattern-matching - Elixir 方法模式匹配字符串包含,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44822968/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com