(name)=: 'value'
assigns 'value' to the name assigned to 'name', e.g.
name=: 'foo'
(name)=: 'value'
foo
value
This accomplishes the same thing Bill Lam does using "Do": ". ,
e.g.
val=: 'value'
".'foo=: ', val
foo
value
On 12/22/06, Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]> wrote:
Hello Oleg,
As advised I am going through the labs again.
For now, can you explain what you have suggested below?
a) what does '(x) := y' do?
b) why have you added this into the z locale? Is it to make it a global?
c) what does 'set__x/y' do? set_z_ is defined as a dyad. I donot see how
the
arguments are being passed to set_z_ here.
Thanks,
Yuva
On 12/22/06, Oleg Kobchenko <[EMAIL PROTECTED]> wrote:
>
> Here's what you need:
>
> set_z_=: 4 : '(x)=: y'
> add_z_=: 4 : 'set__x/y'
>
> obj=: cocreate''
> names__obj''
>
> obj add 'name';'MyName'
> MyName
> names__obj''
> name
> name__obj
> MyName
>
>
> --- Yuvaraj Athur Raghuvir <[EMAIL PROTECTED]> wrote:
>
> > Hello,
> >
> > Continuing on my experiment with the DSL I imagine...
> >
> > Client Code:
> > obj =: bo 'customer' NB. create is now called bo
> > obj add ('name';'MyName')
> >
> > =========================================
> > This should result in :
> > 0) An instance obj of type customer. (I used Bill's version here)
> > 1) an attribute added to the class of obj
> > 2) the attribute instantiated in the specific instance obj.
> >
> > I tried the following (based on the above recommendations...) for the
> add
> > verb -
> >
> > add =: 4 : 0
> > attr =. 0{::y
> > class =. ; {. @ copath x
> > s =. attr,'_',class,'_'
> > NB. s =: attr,'_',class,'_ =:', 1{::,y
> > ". s
> > s =. attr,'__x',' =:', 1{::,y
> > ". s
> > )
> >
> > As you can see, I am creating strings and executing them.
> >
> > Q1: Is there a simpler way to inject names into locales?
> >
> > Then, I look at the names I have so far created:
> >
> > conames ''
> > 0 1 2 base customer j jgl2
> >
> > jijs jprint jproject jregex jscriptdoc jview y
> >
> > z
> >
> > names_customer_ ''
> > names__obj ''
> > COCREATOR name
> > name__obj
> > +------+
> > |MyName|
> > +------+
> >
> > Q2: Why is the names_customer_ empty? Is it because of lazy evaluation
> of J?
> > By this I mean that since the attribute is not assigned a value, the
> > namespace of 'customer' does not record the attribute called 'name'.
> >
> > Q3: Later, I would like to apply reflection techniques to look into
the
> > objects I have created of the various type (here instances of
locatives)
> -
> > for this I assumed that I need to introduce the attribute in the class
> > and assign value to it in the object instance. But, with the issue
> mentioned
> > in Q2, I donot know how to proceed.
> >
> > Thanks for any pointers here,
> >
> > Yuva
> > ----------------------------------------------------------------------
> > For information about J forums see http://www.jsoftware.com/forums.htm
> >
>
>
> __________________________________________________
> Do You Yahoo!?
> Tired of spam? Yahoo! Mail has the best spam protection around
> http://mail.yahoo.com
> ----------------------------------------------------------------------
> For information about J forums see http://www.jsoftware.com/forums.htm
>
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm
--
Devon McCormick
^me^ at acm.
org is my
preferred e-mail
----------------------------------------------------------------------
For information about J forums see http://www.jsoftware.com/forums.htm