about std.csv and derived format

bioinfornatics bioinfornatics at fedoraproject.org
Wed Feb 29 16:52:38 PST 2012


Le mercredi 29 février 2012 à 13:23 +0100, Jesse Phillips a écrit :
> On Wednesday, 29 February 2012 at 11:51:29 UTC, bioinfornatics 
> wrote:
> > Le mercredi 29 février 2012 à 12:42 +0100, bioinfornatics a 
> > écrit :
> >> Dear,
> >> 
> >> I would like to parse this file:
> >> http://genome.ucsc.edu/goldenPath/help/ItemRGBDemo.txt
> 
> > My problem is:
> > - need to parse data in csv format
> > - how manage with optional field
> 
> It looks like the data is tab delimited so separator is a tab. 
> There are no optional fields in CSV, but you can disable 
> exceptions.
> 
> auto records = csvReader!(Bed,Malformed.ignore)(str,'\t');

thanks jesse;

how i can convert inputRange return type to Bed ?
csvReader return a type that change dynamycally so if i use a template
function the type is never same and i can't hard write a copy to Bed
type.
example if i use BedData3 or BedData4:

-------------------------
struct BedData3{
    string    chrom;        // 0
    size_t    chromStart;   // 1
    size_t    chromEnd;     // 2
    string    name;         // 3
}

struct BedData4{
    string    chrom;        // 0
    size_t    chromStart;   // 1
    size_t    chromEnd;     // 2
    string    name;         // 3
    size_t    score;        // 4
}
------------------------

i have try to deal with ReturnType but i fail.

paste https://gist.github.com/1946288

at line 294 bedReader take ane BedData3 tp 11
then at line 338 how get an array of record and store this array into
struct bed line 192


thanks a lot



More information about the Digitalmars-d-learn mailing list