可以说我想对文本进行模式匹配。具体来说,我想对第一个字母进行图案匹配。
例如,如何创建与“about”和“analog”而不是“beta”匹配的模式?
我已经试过了:
defmodule MatchStick do
def doMatch([head | tail]) when head == "a" do 1 end
def doMatch([head | tail]) do 0 end
end
res = MatchStick.doMatch("abcd");
我也尝试过字符列表:
defmodule MatchStick do
def doMatch([head | tail]) when head == 'a' do 1 end
def doMatch([head | tail]) do 0 end
end
res = MatchStick.doMatch('abcd');
两者都不起作用。匹配文字的正确方法是什么?
最佳答案
defmodule MatchStick do
def doMatch("a" <> rest) do 1 end
def doMatch(_) do 0 end
end
您需要使用字符串连接运算符here
例:
iex> "he" <> rest = "hello"
"hello"
iex> rest
"llo"
关于elixir - 如何在文本上进行模式匹配?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25896762/