erlang中的大小写问题
在处理 Erlang 的案例时,我遇到了一个问题。问题如下:
other languages:
switch(A)
{
case "A" : case "B" :
//do something
break;
}
那么,如何使用 Erlang 实现同样的事情呢?因为有时设置这样的条件非常重要,以避免开销。
Working with Erlang's case, I'm facing a problem. The problem is the following:
other languages:
switch(A)
{
case "A" : case "B" :
//do something
break;
}
So, how to achieve the same thing using Erlang? Because sometimes it is very important to put conditions like these, to avoid overhead.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
可能守卫就是你想要的。
; - 是或
, - 是 AND
May be guards are what you want.
; - is OR
, - is AND
您可以在Erlang中使用case表达式。语法是:
引用 Pragmatic Erlang 的话:
一个例子:
过滤器(P,L);返回 L 中 P(X) 为 true 的所有元素 X 的列表。这可以使用模式匹配来编写,但是 case 构造使代码更清晰。请注意,在模式匹配和案例表达之间进行选择取决于品味、风格和经验。
You can use case expressions in Erlang. The syntax is:
To quote Pragmatic Erlang:
An example:
filter(P , L); returns a list of all those elements X in L for which P(X) is true. This can be written using pattern matching, but the case construct makes the code cleaner. Note that choosing between pattern matching and case expressions is a matter of taste, style and experience.
不是我最喜欢的风格,但你可以这样做:
Not my favorite style, but you can do something like: