<div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr"><div dir="ltr">Hi.<div><br></div><div>After #34736 was closed, unfortunately Mantis doesn't allow to comment, so I decided to ask here. (I don't like Mantis 😑)</div><div><br></div><div>What do you think about this syntax sugar?</div><div><br></div><div><div><span style="font-family:monospace,monospace;font-size:x-small">uses JS;</span><br></div><div><font face="monospace, monospace" size="1"><br></font></div><div><font face="monospace, monospace" size="1">var</font></div><div><font face="monospace, monospace" size="1">  o: TJSObject;</font></div><div><font face="monospace, monospace" size="1">begin</font></div><div><font face="monospace, monospace" size="1">  o := newObject(</font></div><div><font face="monospace, monospace" size="1">    'foo', 'bar',</font></div><div><font face="monospace, monospace" size="1">    'object', newObject(</font><span style="font-family:monospace,monospace;font-size:x-small">'abc', 123</span><span style="font-family:monospace,monospace;font-size:x-small">),</span></div><div><font face="monospace, monospace" size="1">    'array', newArray(</font><span style="font-family:monospace,monospace;font-size:x-small">1,</span><span style="font-family:monospace,monospace;font-size:x-small">2,</span><span style="font-family:monospace,monospace;font-size:x-small">3</span><span style="font-family:monospace,monospace;font-size:x-small">)</span></div><div><font face="monospace, monospace" size="1">  );</font></div><div><font face="monospace, monospace" size="1">  Writeln(TJSJSON.stringify(o));</font></div><div><font face="monospace, monospace" size="1">end.</font></div></div><div><div><br></div><div>It is productive for me, instead of declaring a lot of local variable or or literal strings just to create a simple JSON which I could do in a single line, like:</div><div><br></div><div><font face="monospace, monospace" size="1">newObject('foo', 'bar','object', newObject('abc', 123),'array', newArray(1,2,3))</font><br></div><div><br></div><div>So, how to use the <font face="monospace, monospace" size="1">New()</font> function to develop the <font size="1" face="monospace, monospace">newObject()</font> following the suggested syntax? For example, it doesn't compile:</div><div><br></div><div><div><font face="monospace, monospace" size="1">var</font></div><div><font face="monospace, monospace" size="1">  o: TJSObject;</font></div><div><font face="monospace, monospace" size="1">begin</font></div><div><font face="monospace, monospace" size="1">  o := new(</font></div><div><font face="monospace, monospace" size="1">    'foo', 'bar',</font></div><div><font face="monospace, monospace" size="1">    'object', new('abc', 123),</font></div><div><font face="monospace, monospace" size="1">    'array', TJSArray.new(1,2,3)</font></div><div><font face="monospace, monospace" size="1">  );</font></div><div><font face="monospace, monospace" size="1">  Writeln(TJSJSON.stringify(o));</font></div><div><font face="monospace, monospace" size="1">end.</font></div></div><div><br></div><div>the same to:</div><div><br></div><div><font face="monospace, monospace" size="1">Function newObject: TJSObject; varargs; external name 'New';<br></font></div><div><font face="monospace, monospace" size="1">..<br></font></div><div><font face="monospace, monospace" size="1">begin<br></font></div><div><div><font face="monospace, monospace" size="1">  o := newObject(</font></div><div><font face="monospace, monospace" size="1">    'foo', 'bar',</font></div><div><font face="monospace, monospace" size="1">    'object', newObject('abc', 123),</font></div><div><font face="monospace, monospace" size="1">    'array', newArray(1,2,3)</font></div><div><font face="monospace, monospace" size="1">  ); </font></div></div><div><br></div><div>best,</div><div><br></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr"><div>Silvio Clécio</div></div></div></div></div></div></div></div></div></div></div>