[Scilab-users] Getting the variable name used for a function input argument

Stéphane Mottelet stephane.mottelet at utc.fr
Wed Nov 24 19:34:57 CET 2021


Hi,

Le 24/11/2021 à 18:07, Samuel Gougeon a écrit :
> Le 24/11/2021 à 09:51, Stéphane Mottelet a écrit :
>>
>> Hi,
>>
>> Le 24/11/2021 à 01:42, Federico Miyara a écrit :
>>>
>>> I'm not completely sure, but I think this is not possible since what 
>>> is passed to the function isn't a variable but the value contained 
>>> in the variable.
>> No. Internally, input arguments are passed as references to the true 
>> object. There is no copy /unless an input argument *is modified*/ in 
>> the function (in that case a copy with local scope only).
>
>
> Are you sure about that? Not when they are only reached in read mode?
>
> I might have misunderstood, but i remember a discussion with Clément 
> during the last ScilabTech. Clément was categorically stating that all 
> input arguments are copied, only and always copied.
>
It depends on the type of Callable. If you are talking about Scilab 
macros, inputs are (hopefully) never copied. However, if you are talking 
about old-style Scilab 5 C-gateways, yes, there is a wrapper that 
triggers a copy :

https://github.com/opencollab/scilab/blob/master/scilab/modules/ast/src/cpp/types/function.cpp#L333

New cppsci gateways always pass arguments by reference, which allows to 
modify arguments. This is a feature which is used (at least) in Julia, 
and the convention they use adds a exclamation mark at the end of the 
name.  This feature is not used in Scilab, this is a pity...

S.


> Samuel
>
> _______________________________________________
> users mailing list
> users at lists.scilab.org
> http://lists.scilab.org/mailman/listinfo/users

-- 
Stéphane Mottelet
Ingénieur de recherche
EA 4297 Transformations Intégrées de la Matière Renouvelable
Département Génie des Procédés Industriels
Sorbonne Universités - Université de Technologie de Compiègne
CS 60319, 60203 Compiègne cedex
Tel : +33(0)344234688
http://www.utc.fr/~mottelet
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.scilab.org/pipermail/users/attachments/20211124/dc4bcaab/attachment.htm>


More information about the users mailing list