[疑难] 请问各位一个简单的问题

seagate 2007-03-22
刚学d语言,照着d的文档考了一个例子下来运行
import std.stdio;
import std.file;

void main(char[][] args)
{
    auto dirs = std.file.listdir(args[1]);

    foreach (d; dirs)
writefln(d);
}
这个能正常运行,列出所有文件,但是下面这个就死掉了,
import std.stdio;
import std.file;

void main(char[][] args)
{
    auto d_source_files = std.file.listdir(args[1], "*.d");

    foreach (d; d_source_files)
writefln(d);
}

程序运行没有任何反应,都不知道该怎么调试才好,请看看这个问题。
oldrev 2007-03-22
既然你用到了命令行参数你就应该提供啊,比如:
program.exe ~/

程序没有参数自然不存在 args[1..length]。
ideage 2007-03-22
可以先判断参数,没有就返回,或者打印没有提供路径参数.
if(arg.length==0){
  writefln("error!"); 
  return;
}
seagate 2007-03-22
哦,忘记说了,我是提供了参数的。因为第一个例子能正常运行。
Global site tag (gtag.js) - Google Analytics