www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.learn - How to make commented code to compile?

reply Zhuo Nengwen <soarowl yeah.net> writes:
import std.stdio;

void test(ushort market, void delegate(ushort market, char* pc) 
callback)
{
     for (auto i = 0; i < 10; i++)
     {
         callback(cast(ushort) i, cast(char*) null);
     }
}

void main()
{
     test(cast(ushort) 1, (m, c) => writeln(m));
     //test(cast(ushort) 1, (m, c) => { writeln(m); });
     test(cast(ushort) 1, (ushort m, char* c) => writeln(m));
     //test(cast(ushort) 1, (ushort m, char* c) => { writeln(m); 
});
}
Oct 09
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Monday, 9 October 2017 at 14:34:48 UTC, Zhuo Nengwen wrote:
     //test(cast(ushort) 1, (m, c) => { writeln(m); });
That's a function that returns a function. Perhaps you meant to just remove the => and be left with a multi-line function.
Oct 09
parent reply Zhuo Nengwen <soarowl yeah.net> writes:
On Monday, 9 October 2017 at 14:54:33 UTC, Adam D. Ruppe wrote:
     //test(cast(ushort) 1, (m, c) => { writeln(m); });
That's a function that returns a function. Perhaps you meant to just remove the => and be left with a multi-line function.
I simplified the test codes. I want write mode codes in closure, such as: test(cast(ushort) 1, (m, c) => { writeln(m); writeln(m); });
Oct 09
parent reply Adam D. Ruppe <destructionator gmail.com> writes:
On Monday, 9 October 2017 at 15:15:48 UTC, Zhuo Nengwen wrote:
 test(cast(ushort) 1, (m, c) => {
   writeln(m);
   writeln(m);
 });
Just remove the => (m, c) { // code here }
Oct 09
parent bauss <jj_1337 live.dk> writes:
On Monday, 9 October 2017 at 15:22:54 UTC, Adam D. Ruppe wrote:
 On Monday, 9 October 2017 at 15:15:48 UTC, Zhuo Nengwen wrote:
 test(cast(ushort) 1, (m, c) => {
   writeln(m);
   writeln(m);
 });
Just remove the => (m, c) { // code here }
Common mistake from people who worked with LINQ in C#.
Oct 10