Mercurial > projects > dstress
changeset 1418:5cc974ee1e2f
Re: Compile time function execution...
Lionello Lunesu <lio@lunesu.remove.com>
2007-02-16
http://www.digitalmars.com/webnews/newsgroups.php?group=digitalmars.D&article_id=48917
author | thomask |
---|---|
date | Sun, 11 Mar 2007 11:17:23 +0000 |
parents | b9844b283021 |
children | 5449d3b4d30c |
files | run/i/interpret_01_A.d run/i/interpret_01_B.d |
diffstat | 2 files changed, 65 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/interpret_01_A.d Sun Mar 11 11:17:23 2007 +0000 @@ -0,0 +1,32 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Lionello Lunesu <lio@lunesu.remove.com> +// @date@ 2007-02-16 +// @uri@ http://www.digitalmars.com/webnews/newsgroups.php?group=digitalmars.D&article_id=48917 +// @desc@ Re: Compile time function execution... + +module dstress.run.i.interpret_01_A; + +template eval(A...) { + alias A eval; +} + +char[] trimfirst(char[] s){ + int x = 0; + foreach (char each; s) { + if (each != ' ') + return s[x .. $]; + x++; + } + return s; +} + +int main(){ + char[] a = eval!(trimfirst(" test"))[0]; + if(a != "test"){ + assert(0); + } + return 0; +}
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/run/i/interpret_01_B.d Sun Mar 11 11:17:23 2007 +0000 @@ -0,0 +1,33 @@ +// $HeadURL$ +// $Date$ +// $Author$ + +// @author@ Lionello Lunesu <lio@lunesu.remove.com> +// @date@ 2007-02-16 +// @uri@ http://www.digitalmars.com/webnews/newsgroups.php?group=digitalmars.D&article_id=48917 +// @desc@ Re: Compile time function execution... + +module dstress.run.i.interpret_01_B; + +template eval(A...) { + alias A eval; +} + +char[] trimfirst(char[] s){ + int x = 0; + foreach (char each; s) { + if (each != ' '){ + return s[x .. $]; + } + x++; + } + return s; +} + +int main(){ + char[] a = eval!(trimfirst(" test"))[0]; + if(a != "test"){ + assert(0); + } + return 0; +}