Re: User-defined functions
Posted by
Volker Baecker on
Aug 03, 2006; 3:25pm
URL: http://imagej.273.s1.nabble.com/User-defined-functions-tp3701916p3701923.html
I don't have experience with macros, but I would say that this code
should have no visible effect, since there is no output command, like
for example print, in it. Shouldn't it be something like:
var someText = "";
macro "Test" {
test();
print someText;
}
function test() {
someText = "Here is some text";
}
Volker
Andy Weller a écrit :
> Unfortunately I still can't define a global variable. Here's my code:
>
> var someText = "";
> macro "Test" {
> test();
> }
>
> function test() {
> someText = "Here is some text";
> }
>
> It just bums out and doesn't do anything at all!?
>
> Andy
>
> On Wed, 2006-08-02 at 19:15 +0200, seb wrote:
>
>> Andy Weller wrote:
>>
>>> Hi all,
>>>
>>> (I will document the response to this on the Docs website soon.)
>>>
>>> For some reason I can't set global variables outside my macro?! The
>>> macro just doesn't start.
>>>
>> Hi Andy,
>>
>> If you use the macro editor and want to run it, try to install it first
>> (usually Ctl-I) and start it from the menu.
>>
>>
>>> What if I want to return 2 variables instead of just the 1 - or is this
>>> bad practise? (I guess I can call a function from within a function.)
>>>
>>> macro "test"
>>> {
>>> x, y=doit();
>>> print(x, y);
>>> }
>>>
>>> function doit()
>>> {
>>> x=10;
>>> y=20;
>>> return x, y;
>>> }
>>>
>>> ?!?
>>>
>>
>> Your function can't return multiple values, but you can return an array:
>>
>> function foobar()
>> {
>> output=newArray("foo","bar");
>> return output;
>> }
>>
>> macro "test"
>> {
>> strarray=foobar();
>> print (strarray[0]+"\n"+strarray[1]);
>> }
>>
>> Sebastien
>>
>
>
--
passerelle antivirus du campus CNRS de Montpellier
--