changeset 25:ba97c3a662d5

added wysiwyg strings (r"" and ``)
author thomask
date Sat, 09 Oct 2004 10:37:13 +0000
parents df57c769cb0a
children 17cbb8970edc
files run/Alternate_Wysiwyg_String_01.d run/Alternate_Wysiwyg_String_02.d run/Alternate_Wysiwyg_String_03.d run/Alternate_Wysiwyg_String_04.d run/Alternate_Wysiwyg_String_05.d run/Alternate_Wysiwyg_String_06.d run/Alternate_Wysiwyg_String_07.d run/Alternate_Wysiwyg_String_08.d run/Alternate_Wysiwyg_String_09.d run/Alternate_Wysiwyg_String_10.d run/Alternate_Wysiwyg_String_11.d run/Alternate_Wysiwyg_String_12.d run/Alternate_Wysiwyg_String_13.d run/Alternate_Wysiwyg_String_14.d run/Alternate_Wysiwyg_String_15.d run/Alternate_Wysiwyg_String_16.d run/Wysiwyg_String_01.d run/Wysiwyg_String_02.d run/Wysiwyg_String_03.d run/Wysiwyg_String_04.d run/Wysiwyg_String_05.d run/Wysiwyg_String_06.d run/Wysiwyg_String_07.d run/Wysiwyg_String_08.d run/Wysiwyg_String_09.d run/Wysiwyg_String_10.d run/Wysiwyg_String_11.d run/Wysiwyg_String_12.d run/Wysiwyg_String_13.d run/Wysiwyg_String_14.d run/Wysiwyg_String_15.d todo.txt
diffstat 32 files changed, 222 insertions(+), 5 deletions(-) [+]
line wrap: on
line diff
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_01.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,10 @@
+int main(){
+	char[] string=`hello`;
+	assert(string.length==5);
+	assert(string[0]=='h');
+	assert(string[1]=='e');
+	assert(string[2]=='l');
+	assert(string[3]=='l');
+	assert(string[4]=='o');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_02.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\'`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\'');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_03.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\v`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='v');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_04.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\?`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\?');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_05.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\\`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\\');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_06.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\a`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='a');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_07.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\b`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='b');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_08.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\f`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='f');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_09.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\n`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='n');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_10.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\r`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='r');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_11.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\t`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='t');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_12.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\x`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='x');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_13.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\u`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='u');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_14.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`\U`;
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='U');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_15.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=`
+`;
+	assert(string.length==1);
+	assert(string[0]=='\n');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Alternate_Wysiwyg_String_16.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,6 @@
+int main(){
+	char[] string=`"`;
+	assert(string.length==1);
+	assert(string[0]=='"');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_01.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,10 @@
+int main(){
+	char[] string=r"hello";
+	assert(string.length==5);
+	assert(string[0]=='h');
+	assert(string[1]=='e');
+	assert(string[2]=='l');
+	assert(string[3]=='l');
+	assert(string[4]=='o');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_02.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\'";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\'');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_03.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\v";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='v');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_04.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\?";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\?');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_05.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\\";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='\\');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_06.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\a";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='a');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_07.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\b";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='b');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_08.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\f";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='f');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_09.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\n";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='n');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_10.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\r";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='r');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_11.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\t";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='t');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_12.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\x";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='x');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_13.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\u";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='u');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_14.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"\U";
+	assert(string.length==2);
+	assert(string[0]=='\\');
+	assert(string[1]=='U');
+	return 0;
+}
--- /dev/null	Thu Jan 01 00:00:00 1970 +0000
+++ b/run/Wysiwyg_String_15.d	Sat Oct 09 10:37:13 2004 +0000
@@ -0,0 +1,7 @@
+int main(){
+	char[] string=r"
+";
+	assert(string.length==1);
+	assert(string[0]=='\n');
+	return 0;
+}
--- a/todo.txt	Sat Oct 09 09:30:11 2004 +0000
+++ b/todo.txt	Sat Oct 09 10:37:13 2004 +0000
@@ -26,11 +26,6 @@
 * Embedded _ in numeric literals
 	18_446_744_073_709_551_615 / 18446744073709551615
 
-* WYSIWYG strings 
-	While embedded escape sequences are a must, What-You-See-Is-What-You-Get is a nice thing to have for string literals. D offers both kinds, the traditional escaped "" string literal and the r"" WSYIWYG literal. The later is particularly useful when entering regular expressions:
-	"y\\B\\w"	// regular strings
-	r"y\B\w"	// WYSIWYG strings
-	
 * X strings
 	D has the x string, where hex data can be simply wrapped with double quotes, leaving the whitespace intact:
 	x"00 0A E3 DC 86 73 7E 7E"