(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

Reply via email to