d区间取子块

原文

//...
  myList1.skipRange(3).rangePrint; /*
    1: Sivrihisar
    2: Shemseddin
    3: Nasruddin
    4: Nusrat
  */
  myNames[3..5].rangePrint; /*
    1: Sivrihisar
    2: Shemseddin
  */
}

auto skipRange(R)(R range, size_t value)
{
  size_t loop = value;
  while(!range.empty && loop--)
  {
    range.popFront();
  }
  return range;
}

void rangePrint(R)(R range)
{
  import std.stdio;
  size_t i = 1;
  foreach(item; range)
  {
    writeln(i++, ": ", item);
  }
  writeln;
}
posted @ 2022-12-11 17:14  zjh6  阅读(11)  评论(0)    收藏  举报  来源