在我的代码中添加简单的电子邮件验证,我创建了以下函数:
def isValid(email: String): Boolean = if("""(?=[^\s]+)(?=(\w+)@([\w\.]+))""".r.findFirstIn(email) == None)false else true
Run Code Online (Sandbox Code Playgroud)
这将通过电子邮件喜欢bob@testmymail.com
和失败的邮件bobtestmymail.com
,但邮件与空格字符滑过,就像bob @testmymail
也将返回true.
我可能在这里很傻......
我正在为我的游戏创建一个服务器,我认为尝试scala和akka可能是个好主意.我快速阅读了文档,然后我开始了解架构.但在做任何事情之前,我想如果我走的是一条好路,我可能会问更高级的用户.
基本上我的游戏服务器从客户端接收带有连接的数组[Byte]:http://backchatio.github.com/hookup/(websocket!)并托管一定数量的"派对".它应该使用sBinary将Array [Byte]解码为更多结构化数据,然后通过将结构化数据与应该发送的一方相关联来解释它们.
所以我来到这个体系结构:一个Master Actor接收Array [Byte](master!arrayByte)并将它们委托给解码它们的专用actor,并将它们作为更多结构化数据发送回master,然后在接收那些结构化数据时将它们发送回master将他们委托给了解结构化数据并更改软件事务内存映射[Id,Party]中保存的相应游戏状态的Interpreter worker,然后他将收到的订单发送回Checked(订单:订单)如果当事人说这是对客户的有效命令,现在可以假设他的订单是正确的并且在他自己的版本的聚会中解释它.
我有这种类型的列表细节:
case class Detail(point: List[Double], cluster: Int)
val details = List(Detail(List(2.0, 10.0),1), Detail(List(2.0, 5.0),3),
Detail(List(8.0, 4.0),2), Detail(List(5.0, 8.0),2))
Run Code Online (Sandbox Code Playgroud)
我希望将此列表过滤为一个元组,其中包含集群为2的每个对应点的总和
所以我过滤这个List:
details.filter(detail => detail.cluster == 2)
Run Code Online (Sandbox Code Playgroud)
返回:
List(Detail(List(8.0, 4.0),2), Detail(List(5.0, 8.0),2))
Run Code Online (Sandbox Code Playgroud)
这是我遇到麻烦的相应值的总和.在这个例子中,元组应该包含(8 + 5,4 + 8)=(13,12)
我正在考虑将列表展平,然后对每个相应的值求和
List(details).flatten
Run Code Online (Sandbox Code Playgroud)
只返回相同的List
如何将List中的相应值加总为元组?
我可以使用for循环轻松实现这一点,只需将我需要的细节提取到计数器中,但功能解决方案是什么?