Error: variable i cannot be read at compile time
Vino
vino.bheeman at hotmail.com
Fri Jan 5 13:20:01 UTC 2018
On Friday, 5 January 2018 at 13:09:25 UTC, Vino wrote:
> On Friday, 5 January 2018 at 12:47:39 UTC, thedeemon wrote:
>> On Friday, 5 January 2018 at 12:40:41 UTC, Vino wrote:
>>>> What exactly are you trying to do in Master()?
>>> Please find the full code,
>>
>> Sorry, I'm asking what problem are you solving, what the
>> program should do, what is its idea. Not what code you have
>> written.
>
> Hi,
>
> I am trying to implement data dictionary compression, and below
> is the function of the program,
>
> Function read:
> This function read a csv file which contains 3 column as and
> stores the value of each column in an array Col1: Array1
> (Ucol1), Col2: Array2 (Ucol2), Col3: Array3(Ucol3) and returns
> the data.
>
> CSV file content:
> Miller America 23
> John India 42
> Baker Australia 21
> Zsuwalski Japan 45
> Baker America 45
> Miller India 23
>
> Function Main
> This function receives the data from the function read.
> Creates an array based of the function return type – (
> typeof(read()[i]) Data );
> Sorts the data and removes the duplicates and stores the data
> in the above array.
> Then using “countUntil” function we can accomplish the data
> dictionary compression.
>
> Result
> The above file will be stored as
> Data File:
> Data-Col1.txt which contains [Baker, John, Miller, Zsuwalski]
> Data-Col2.txt which contains [America, Australia , India, Japan]
> Data-Col3.txt which contains [21, 23, 42, 45]
>
> Index File:
> Index-Col1.txt which contains [2, 1, 0, 3, 0, 2]
> Index -Col2.txt which contains [0, 2, 1, 3, 0, 2]
> Index -Col3.txt which contains [1, 2, 0, 3, 3, 1]
>
> The program works for a single column.
>
> From,
> Vino.B
More Info:
If we change the below line
static foreach(i; 0 .. 1)
Output: ["Baker", "John", "Miller", "Zsuwalski"][2, 1, 0, 3, 0, 2]
static foreach(i; 1 .. 2)
["America", "Austrilia", "India", "Japan"][0, 2, 1, 3, 0, 2])
static foreach(i; 2 .. 3)
[21, 23, 42, 45][1, 2, 0, 3, 3, 1]
Instead of manually chaning the values I used the variable Size
where the value of the Size if from the read function (read[3] )
where read[3] is rSize = record.length;
If I use the variable Size as static foreach(i; 0 .. Size) I am
getting an error : “Error: variable Size cannot be read at
compile time”.
From,
Vino.B
More information about the Digitalmars-d-learn
mailing list