在Erlang,这将引发一个no match of right hand side valueX = 2.
但是,在Elixir中,将一个值赋给一个变量不止一次似乎是非常好的。我搞不懂在灵丹妙药中模式匹配是如何工作的。药方如何区分模式匹配和变量分配?据我所知,在Erlang中,X是一个无界变量,所以它可以与任何东西匹配,对吗?但是,一旦绑定,模式匹配只有在与X值相同的情况下才能工作。
如何在Erlang中进行动态模式匹配?假设我有函数filter/2:其中Pattern是由用户输入的具有我想要匹配的模式(例如"{book, _ }"或"{ebook, _ }")的字符串,而book, "The Hitchhiker's Guide to the Galaxy" }, {dvd, "The Lord of Rings"}等)