Reading and wiping notes also adding more notes

Ali Çehreli acehreli at yahoo.com
Tue Oct 18 05:48:27 UTC 2022


On 10/17/22 22:40, Joel wrote:

 > I have two text fields. The one on the left has the whole text, new
 > stuff being added to the bottom. The one on the right has text I've been
 > wiping as I'm reading.

I think this can be modelled as a string array and an index showing 
where the active part starts:

import std;

struct Notes {
     string[] whole;
     size_t activeIndex;

     void add(string line) {
         whole ~= line;
     }

     string[] activeText() {
         return whole[activeIndex..$];
     }

     void wipeText() {
         ++activeIndex;
     }
}

void main() {
     auto input = [ "I went for a walk and fell down a hole.",
                    "There was a D guy on the roof.",
                    "That was a tricky problem!", ];

     Notes notes;

     // add() to add()
     input.each!(line => notes.add(line));

     // activeText() will show the active part
     // wipeText() will move forward
}

Ali



More information about the Digitalmars-d-learn mailing list