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