On 7/14/20 7:12 AM, Andre Pany wrote:
Hi,
by reading the documentation of std.getopt I would assume, this is a
valid call
dmd -run sample.d --modelicalibs a b
``` d
import std;
void main(string[] args)
{
string[] modelicaLibs;
getopt(args, "modelicalibs", &modelicaLibs);
assert(modelicaLibs == ["a", "b"]);
}
```
but it fails, as array modelicaLIbs only contains ["a"].
The std.getopt : arraySep documentation hints that it should work:
The string used to separate the elements of an array or associative
array (default is "" which means the elements are separated by
whitespace).
Is my understanding wrong, or is this a bug?
The whitespace separator doesn't get to your program. args is:
["sample", "--modelicalibs", "a", "b"]
There is no separator in the parameter to --modelicalibs, it's just "a".
What you need to do is:
dmd -run sample.d --modilicalibs "a b"
-Steve