gpt4 book ai didi

scala - 如何在Scala中检查输入变量是否为Int?

转载 作者:行者123 更新时间:2023-12-04 13:16:05 25 4
gpt4 key购买 nike

嗨,我正在从“args”中读取输入变量,我想检查输入是否为整数值。我关注了this link

    var param=0
...
args(j) match {
...
case args(j): Int => param =args(j)
...
}

但这给了我一个错误:
[error] '=>' expected but ':' found.
[error] case args(j): Int => param =args(j)

不知道是什么问题!

最佳答案

试试这个:

 val intRegex = """(\d+)""".r
val param = args(j) match {
case intRegex(str) => str.toInt
case _ => 0 // or some other value, or an exception
}

您可能想要使用一些参数解析库。

或者,如果您希望通过一次分配多个参数:
for (arg <- args) {
arg match {
case intRegex(arg) => param = arg.toInt
case p if Files.exists(Paths.get(p)) => path = Paths.get(p)
case _ => //
}

但这是一个相当丑陋的解决方案。我强烈建议您使用一些库,例如接受( https://github.com/scopt/scopt)。您可能需要花一些时间来习惯它,但这是有好处的-下次您不会重新发明轮子了:)

关于scala - 如何在Scala中检查输入变量是否为Int?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30314585/

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