[scilab-Users] predefined functions in Scilab

Mathieu Dubois mathieu.dubois at limsi.fr
Fri Sep 23 09:55:50 CEST 2011



Le 23/09/2011 02:54, Manjusha Joshi a écrit :
> Hello
>
>
>     For your problem you should have a look at the funcprot function.
>
>     However, the default mode is to issue a warning when redefining
>     predefined functions.
>
> Thanks for reply.
>
> I tried following
>   A  =
>
>      2.    3.    4.    78.
>
>
> -->funcprot(2)
>
>
> -->sum(A)
>   ans  =
>
>      87.
>
> -->sum=98
>        !--error 223
> It is not possible to redefine the sum primitive this way (see clearfun).
>
>
> -->deff('y=f(x)','y=x*x')
>
> -->deff('y=f(x)','y=2*x*x')
>                           !--error 111
> Trying to re-define function f.
>
>
> User defined function should be redefined. At the same time scilab
> predefined functions should not.
> I tried following:
>
> -->clearfun f
>   ans  =
>
>    F
>
> -->clearfun sum
>   ans  =
>
>    T
> Now it is allowing to redefine sum which should be protected. On the
> other hand it is not allowing to redefine the function f. Which one
> needs to redefine several times in one session.
>
clearfun is to clear predefined functions like sum (maybe it should be 
called clearpredef).

To redefine your function f, use clear f.
You can check that f exists with the exists function (not mandatory).
>
> What is going wrong? Am I missing something.
> Regards
>
>
>
>     On 09/22/2011 12:51 PM, Manjusha Joshi wrote:
>
>         Hello,
>
>         sum, prod etc. are predefined functions in scilab.
>
>         if some one with out knowing the name of the  predefind function
>         use  it as avariable name, as follows:
>
>
>         -->A=[2,3,4,78]
>           A  =
>
>             2.    3.    4.    78.
>
>         -->sum(A)
>           ans  =
>
>             87.
>
>         -->sum=96
>           sum  =
>
>             96.
>
>         -->sum(A)
>                !--error 21
>         Invalid index.
>
>
>
>           scilab not even complains. In old versions at least there was
>         some error message.
>
>         This happens in the current session only.
>         Is there any way to protect the predefined functions and their
>         names?
>         I think we should declare these function names as predefined
>         functions.
>
>
>         --
>         Manjusha S. Joshi
>
>         blog:http://manjushajoshi.__wordpress.com/
>         <http://manjushajoshi.wordpress.com/>
>
>
>
>
>
>
>
> --
> Manjusha S. Joshi
> Mobile:  09822 319328
> blog:http://manjushajoshi.wordpress.com/
>
>
>



More information about the users mailing list