gpt4 book ai didi

scala - 后续/嵌套模式匹配

转载 作者:行者123 更新时间:2023-12-02 05:08:14 26 4
gpt4 key购买 nike

当我通过多个模式匹配发送一个变量时,这样做的命名约定是什么?

val somethingBetweenOriginalAndResult = original match {
case ...
case ...
}
val somethingElseBetweenOriginalAndResult = somethingBetweenOriginalAndResult match {
case ...
case ...
}
val result = somethingElseBetweenOriginalAndResult match {
case ...
case ...
}

事实上,我只需要 originalresult 之间引入的每个 val 都会弄脏我的命名空间,并要求我制定一个新的变量名。我怎样才能避免这种情况?

最佳答案

使用 block 和简短的临时变量名称(足够长以向某人建议您要完成的事情——如果很明显,x 和公司会做的很好):

val original = ...
val result = {
val x = original match { ... }
val y = x match { ... }
y match { ... }
}

如果您愿意,您甚至可以完全省略变量名称(尽管优先级是向后的,因此您需要添加括号或其他内容):

val result = {
((original match {
...
}) match {
...
}) match {
...
}
}

因为上一场比赛的结果是下一场比赛的参数。

关于scala - 后续/嵌套模式匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15933562/

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