I would like to create a File object (by the i mean obFile = new File("file_name.txt") ) where file_name.txt is actually a string which is the name of some other object (let's say I have a List object that I have named synList).
What I would like to do is have some function where synList is an input ($o1) and I can somehow say something like:
obFile = new File($o1.string()) or something like that.
Does such a .string() function exist? or maybe .name()? I see the .alias() function, but it doesn't seem right for what I want to do.
Thanks for your time.
Strings and objects in Neuron
-
- Site Admin
- Posts: 6305
- Joined: Wed May 18, 2005 4:50 pm
- Location: Yale University School of Medicine
- Contact:
Re: Strings and objects in Neuron
hoc has no such function. The limited repertoire of related functions includes allobjects(), allobjectvars(), name_declared()--see
http://www.neuron.yale.edu/neuron/stati ... #functions
And you wouldn't benefit much from the fact that
objrefname
returns the name of the actual instance of a particular object class, e.g.because I suspect you want a file name that has some semantic content that goes beyond the fact that it is named after a particular instance of a particular object class.
However, you might be able to get the effect you want by approaching whatever the problem is from a different angle. You can generate a command line with sprint(), then execute the command line with execute(). That allows you to create a "meaningful" name for an instance of any object class. And you can also generate a string and pass that as an argument to a statement such as
objref fil
fil = new File("some_string_I_generated")
or for that matter, you could generate a string that contains the entire
fil = new File(" . . .
command, then use execute() to execute that command string.
http://www.neuron.yale.edu/neuron/stati ... #functions
And you wouldn't benefit much from the fact that
objrefname
returns the name of the actual instance of a particular object class, e.g.
Code: Select all
oc>objref foo
oc>foo = new Vector()
oc>foo
Vector[4]
oc>strdef bar
oc>sprint(bar,"%s",foo)
1
oc>bar
Vector[4]
However, you might be able to get the effect you want by approaching whatever the problem is from a different angle. You can generate a command line with sprint(), then execute the command line with execute(). That allows you to create a "meaningful" name for an instance of any object class. And you can also generate a string and pass that as an argument to a statement such as
objref fil
fil = new File("some_string_I_generated")
or for that matter, you could generate a string that contains the entire
fil = new File(" . . .
command, then use execute() to execute that command string.