making args global

2012-04-03 Thread jicman
Greetings. imagine this code... void c() { char [] t = args[0]; } void main(char[][] args) { int i = 1; } How can I make args global? thanks, jose

Re: making args global

2012-04-03 Thread Andrej Mitrovic
On 4/4/12, jicman cabr...@wrc.xerox.com wrote: imagine this code... I'm assuming you're using D2. import core.runtime; void c() { char[] t = Runtime.args[0].dup; } void main(char[][] args) { int i = 1; } .dup is necessary since Runtime keeps the args as a string[] and not a char[][].

Re: making args global

2012-04-03 Thread Ali Çehreli
On 04/03/2012 03:32 PM, jicman wrote: Greetings. imagine this code... void c() { char [] t = args[0]; } void main(char[][] args) { int i = 1; } How can I make args global? thanks, jose First, the general discouragement: Avoid global data. :) You can initialize a global

Re: making args global

2012-04-03 Thread James Miller
On 4 April 2012 10:32, jicman cabr...@wrc.xerox.com wrote: How can I make args global? thanks, In D, technically the only way is to use Runtime, as Andrej mentioned. As an aside, it is worth noting there is no global scope in D, module is as high as you go.

Re: making args global

2012-04-03 Thread H. S. Teoh
On Tue, Apr 03, 2012 at 03:44:08PM -0700, Ali Çehreli wrote: On 04/03/2012 03:32 PM, jicman wrote: [...] How can I make args global? [...] First, the general discouragement: Avoid global data. :) You can initialize a global variable upon entering main: [...] Technically that's a module

Re: making args global

2012-04-03 Thread jic
thanks all.