当前位置: 首页 > 知识库问答 >
问题:

为什么 args 对于主参数是强制性的

冷英光
2023-03-14

如果我像下面这样使用,考虑到我不需要接受参数,它不会检测到日食中的 Scala。

object HelloWorld {
  def main(): Unit = {
    println("Hello Scala!!!")
  }
}

它可以与参数一起工作:Array[String]

object HelloWorld {
  def main(args: Array[String]): Unit = {
    println("Hello Scala!!!")
  }
}

共有1个答案

逄征
2023-03-14

好吧,这只是JVM上的一个约定。运行程序时,您将无法调用对象作为入口点。例如,在 Scala 中.js你有没有参数的 main()。

如果您不需要参数,可以将Apptrait混合:

object HelloWorld extends App {
  println("Hello Scala!!!")
}
 类似资料:
  • 问题内容: 我刚刚开始用Java编写程序。以下Java代码是什么意思? What is String[] args? When would you use these args? 源代码和/或示例优先于抽象解释 问题答案: 在Java中,包含提供的命令行参数作为对象数组。 换句话说,如果你运行你的程序作为然后将包含。 如果要输出的内容,可以像这样遍历它们…

  •   *args 和 **kwargs 都允许将可变数量的参数传递给函数。当不确定要在函数中传递的参数数量时,将使用它们。   *args 允许你将可变数量的参数传递给函数。 def addNumbers(*numbers):     sum = 0     for number in numbers:         sum = sum + number     print("Sum: "

  • 问题 你有一个函数或方法,它使用*args和**kwargs作为参数,这样使得它比较通用, 但有时候你想检查传递进来的参数是不是某个你想要的类型。 解决方案 对任何涉及到操作函数调用签名的问题,你都应该使用 inspect 模块中的签名特性。 我们最主要关注两个类:Signature 和 Parameter 。下面是一个创建函数前面的交互例子: >>> from inspect import Si

  • 问题内容: 我正在使用子进程模块中的Popen函数来执行命令行工具: 我正在使用的工具将获取一个文件列表,然后处理该文件。在某些情况下,此文件列表可能会很长。有没有一种方法可以找到args参数可以达到的最大长度?将大量文件传递给该工具后,出现以下错误: 有找到这种最大长度的一般方法吗?我在msdn上找到了以下文章:命令提示符(Cmd。exe)命令行字符串限制,但我不想对值进行硬编码。我宁愿在运行时

  • 为什么Java只允许main方法采用形式的参数?即字符串数组 为什么Java不允许int或double数组 或 为什么它不允许单个字符串或int或float而不是字符串数组呢?类似于: 或

  • 我是新的阿帕奇Kafka,并尝试与例子给出。 下面的代码片段用于初始化一个ConsumerConnector,我被topic count参数搞糊涂了;它似乎会导致Kafka为该主题提供相应数量的流。然而,我尝试了几次,只有第一个流产生消息。所以,有两个问题:1。如何确定主题的计数数?2.消息分裂是如何跨越流的? 提前道谢。