Scala args(0) 原因

2024-01-05

请理解我没有 Java 背景,这是我第一次使用 Scala。我是not抨击 Scala - 只是对设计决策感到好奇。

Scala 决定在其方面标榜惯例是否有原因?args object?

与我熟悉的语言相比,我希望 Scala args(0) 返回可执行文件的名称,而 args(1) 返回第一个参数。

Scala 没有利用上述“不言而喻”的约定,而是要求编码人员混合一些 Java 代码来获取可执行文件的名称(re.java)。获取脚本文件名并打印它 https://stackoverflow.com/questions/14349571/getting-script-filename-and-printing-it).


Java 就是这样做的,而 Scala 也遵循这种方式,因为两者都被编译为 JVM 字节码并以相同的方式运行。 (例如。java -jar myjar.jar)

所以原因和 Java 是一样的:你可以在这里阅读关于它的讨论:https://softwareengineering.stackexchange.com/questions/211073/why-does-java-not-put-the-filename-in-args https://softwareengineering.stackexchange.com/questions/211073/why-does-java-not-put-the-filename-in-args.

简而言之,传递文件名的概念在 Java/Scala 中的意义不如在 C/C++ 中的意义,并且无论如何您都可以轻松获取它以备不时之需。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Scala args(0) 原因 的相关文章

随机推荐