I changed the prototype to: void get(in char[] varName, ...)
I'm not totally happy with it because I only need one variadic argument and : How do I get the .stringof of an variadic type? _arguments[0].stringof doesn't work :) How do I mutate the original argument? (ref) Please tell me if I'm on the totally wrong track here. --- module ddata.main; import std.file; import std.stdio; import std.string; void main() { char[] filename = `data.dat`; char[][] file; try{ file = splitlines( cast(char[])read(filename) ); } catch{ throw new Exception("Couldn't load : " ~ filename); } DData file_dd = new DData(file); int i; file_dd.get(`i`, i); } class DData { private char[][] _file; this(char[][] file) { _file = file.dup; } void get(in char[] varName, ...) { char[] type = _arguments[0].stringof; writefln (type); foreach(int i, char[] line; _file) { if(line[0..type.length] == type) { writefln (i); break; } writefln (`failed`); } } } ---