Sil*_*law 1 command-line d args
我很新看D(就像......昨天,在寻找Kotlin基准测试之后......)并且目前正试图决定它是否是我想要应对的语言.
我试图从命令行传递一些参数,我有点惊讶.假设我通过"-Foo -Bar".我的程序很简单:
import std.stdio;
void main(string [] args) {
foreach(arg; args) {
writeln(arg);
}
}
Run Code Online (Sandbox Code Playgroud)
来自Java,我希望它能打印出来
但我的D程序似乎作为第一个参数获得了它的位置?输出是:
我尝试搜索这个,但是所有Google点击都引用了Java的-D开关...那么,这是预期的行为吗?如果有,有谁知道为什么?
这在D中是正常的,继承自C和C++.第一个参数是程序的名称,因此您可以使用它来确定多用途程序中您想要的功能.
busybox unix工具集https://busybox.net/使用这个(好吧,至少习惯了,我不确定它是否已经改变)所以一个程序busybox,可以被称为各种unix命令,如ls或cp.
使用args[0],它可以告诉它被称为哪一个,尽管它们都指向相同的二进制程序,并做出相应的响应.
提示:如果你对此不感兴趣,你可以用你的args循环 foreach(arg; args[1 .. $]) {}
| 归档时间: |
|
| 查看次数: |
177 次 |
| 最近记录: |