Erlang 中模式匹配字符串的正确方法
Correct way of pattern matching Strings in Erlang
对于 erlang 中的模式匹配字符串,这些方法中的哪一个更好?
receiveString("someString") -> %doStuff;
receiveString("differentString") -> %doOtherStuff.
或
receiveString(A) when A == "someString" -> %doStuff;
receiveString(A) when A == "differentString" -> %doOtherStuff.
此外,是否可以有多个 when
子句?
它们是等价的,但第一个对我来说肯定更易读,因为它更直接。
所以我会选择第一个!
你可以有多个用逗号分隔的守卫表达式:
recieveString(A, B) when A == "some", B == "other" -> %doStuff;
对于 erlang 中的模式匹配字符串,这些方法中的哪一个更好?
receiveString("someString") -> %doStuff;
receiveString("differentString") -> %doOtherStuff.
或
receiveString(A) when A == "someString" -> %doStuff;
receiveString(A) when A == "differentString" -> %doOtherStuff.
此外,是否可以有多个 when
子句?
它们是等价的,但第一个对我来说肯定更易读,因为它更直接。
所以我会选择第一个!
你可以有多个用逗号分隔的守卫表达式:
recieveString(A, B) when A == "some", B == "other" -> %doStuff;