/*
* call-seq:
* Dvector.read(filename, dest=nil, start=1, length=-1) -> array of dvectors
*
* The data on the file should be organized in columns of numbers, with one row per line.
* The _start_ parameter determines the starting line and defaults to 1 meaning start at the first line of the file.
* The _length_ parameter determines the number of lines to be read and defaults to -1 meaning read to the end of the file.
* Each column of data is stored in a Dvector. If the _dest_ argument is <code>nil</code>, the result array holds the newly created vectors
* with the leftmost column in array entry 0, the second column in entry 1, and so on.
* If _dest_ is not <code>nil</code>, it must be an array with entries either Dvectors or <code>nil</code>. For entries that are Dvectors, the
* contents of the vector are replaced by the column of data from the file. If the entry is <code>nil</code>, that column of the file is skipped.
*
*/
VALUE dvector_read(int argc, VALUE *argv, VALUE klass) {