就像一个例子,我制作了一个过滤掉文件空行并将结果写入新文件的程序:
// dlang filter out empty lines
import std.stdio;
import std.string;
import std.getopt;
string inputFile;
string outputFile;
void main(string[] args)
{
getopt(args, "if", &inputFile, "of", &outputFile);
File ifh = File(inputFile, "r");
File ofh = File(outputFile, "w");
foreach(line; ifh.byLine) {
line = line.chomp;
if(line != "") {
ofh.writeln(line);
}
}
}
非常好,设置非常简单,但是如果我想为--if选项获取多个值会怎么样?
答案 0 :(得分:2)
您可以使用string[]
接收方:
string[] inputFiles
getopt(args, "if", &inputFiles);
foreach(f; inputFiles) {...}
然后在运行程序时提供多个--if
选项,它们最终都在inputFiles
。
另请参阅:http://dlang.org/phobos/std_getopt.html - 数组选项