[疑难] 切片错误?
ideage
2008-10-17
char[] s ="abcde%";
char[] b = s[0..$] 这样的代码不能执行! std.format错误. 字符串不能包含百分号. 正在努力想办法.呵呵 |
|
ideage
2008-10-17
哈哈,这么快就有办法了!
char[] s ="abcde%%"; char[] b = s[0..$] assert(b=="abcde%"); 多写一个就OK了 |
|
ideage
2008-10-17
原来2个代表一个.呵呵
|
|
hurd
2008-10-17
我这里可以写2个%就出2个%。 不过用的是tango。
你可以试下 char[] s = r"abcde%"; char[] b = s[0..$] ; |
|
tomqyp
2008-10-17
不是因为tango,是因为你的字符串是用r修饰的
|
|
oldrev
2008-10-17
% 居然是转义符?specs 里有说明吗?
|
|
hurd
2008-10-17
tomqyp 写道 不是因为tango,是因为你的字符串是用r修饰的
我没加r也是写2个出2个。 |
|
hqs7636
2008-10-17
oldrev 写道 % 居然是转义符?specs 里有说明吗?
转义序列中没有这东东 |
|
ideage
2008-10-18
其实是切片的错误.或者是phobos的?呵呵.
转义序列开头定义了%% FormatSpecification: '%%' '%' Flags Width Precision FormatChar |
|
Colorful
2008-10-18
个人认为这是个 Bug 。
|