gpt4 book ai didi

scala - 如何在惯用的 Scala 中对其进行编码?

转载 作者:行者123 更新时间:2023-12-04 22:20:53 24 4
gpt4 key购买 nike

假设我想在 Scala 中编写一个函数 def pair(s:String):Option[(String, String)] 来将字符串转换为键值对。该字符串应类似于 "<key>:<value>"

您将如何更正下面的解决方案?

def pair(s:String) = {
val a = s.split(":"); if (a.length == 2) Some((a(0).trim, a(1).trim)) else None
}

最佳答案

我个人觉得两种方法更好一些:

def pair(s: String) = s.split(":") match {
case Array(k, v) => Some(k.trim -> v.trim)
case _ => None
}

或者使用 Scala 方便的正则表达式提取器:
val Pair = """\s*([^\s:]+)\s*:\s*([^\s:]+)\s*""".r

def pair(s: String) = s match {
case Pair(k, v) => Some(k -> v)
case _ => None
}

但是,是的,你的也没有那么糟糕。

关于scala - 如何在惯用的 Scala 中对其进行编码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21728738/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com