gpt4 book ai didi

scala - 匹配一对相等的值

转载 作者:行者123 更新时间:2023-12-04 02:35:25 27 4
gpt4 key购买 nike

我正在尝试处理一个元组,其中一种情况是两个值相等。有没有更好、更简洁的方式来 match在这比

(p, q) match {
case (p, q) if (p == q) => println("Match!")
...
}

?

最佳答案

就我个人而言,我认为您的做法很棒,因为它简单、直观,而且读者一目了然。

也就是说,这是一种无需 if 即可完成的方法条款。您可以只匹配交换版本,使用反引号转 q成稳定的标识符。正如@Luigi 指出的那样,您只需检查 p匹配 q :

  (p, q) match {
case (`q`, _) => println("Match!")
...
}

像这样:
def f(p: Int, q: Int) {
(p, q) match {
case (`q`, _) => println("Match!")
case _ => println("No")
}
}

f(1, 2) // "No"
f(1, 1) // "Match!"

关于scala - 匹配一对相等的值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12665042/

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