Hi,

I am confusing with getting sub-string of a char[].

------------------------- code ---------------------------------
module main;

import tango.io.Console;
import tango.text.convert.Integer;

void main()
{
  char[] s = "ABCDE"; // 5 chars
  int len = s.length;
  Cout("s='" ~ s ~ "', length=" ~ toString(len)).newline;
  Cout("s[" ~ toString(len-1) ~ "]= " ~ s[len-1]).newline;
  Cout("s[0 .. " ~ toString(len-1) ~ "]= " ~ s[0 .. len-1]).newline;
  Cout("s[0 .. " ~ toString(len) ~ "]= " ~ s[0 .. len]).newline;
  Cout("s[1 .. " ~ toString(len-1) ~ "]= " ~ s[1 .. len-1]).newline;
  Cout("s[1 .. " ~ toString(len) ~ "]= " ~ s[1 .. len]).newline;
}
------------------------- code ---------------------------------

The result is (dmd + windowsxp)

s='ABCDE', length=5
s[4]= E
s[0 .. 4]= ABCD
s[0 .. 5]= ABCDE
s[1 .. 4]= BCD
s[1 .. 5]= BCDE

-------------------------------------------------------

My question is: why s[4]=E, but s[0..4]=ABCD (without E)







--
Xu, Qian (stanleyxu)
 http://stanleyxu2005.blogspot.com

Reply via email to