Hello Pierre,
Le 07/12/2016 10:04, Pierre Vuillemin a écrit :
Hi all,
I have to create unique IDs for some object in Scilab. For that
purpose, someone kindly guided me towards the UUID class of java,
which lead me to create this function in Scilab,
function id = make_id()
UUID = jimport("java.util.UUID", %f)
tmp = jinvoke(UUID,"randomUUID")
id = jinvoke(tmp,"toString")
endfunction
It works fine.
An a priori similar function is
function id = make_id_err()
UUID = jimport("java.util.UUID", %f)
tmp = UUID.randomUUID()
id = tmp.toString()
endfunction
where the methods are called without jinvoke. While the instructions
of the latter function work well in the terminal, they lead to an
error when trying to exec the function 'make_id_err'.
I was wondering if it is a normal behaviour?
No, but the bug is fixed in Scilab 6.0:
In Scilab 5.5.2:
-->endfunction
UUID = jimport("java.util.UUID", %f)
!--error 26
Récursivité trop complexe ! (Les tables de récurrence sont pleines)
at line 2 of function make_id_err called by :
tmp = UUID.randomUUID()
at line 3 of function make_id_err called by :
tmp = UUID.randomUUID()
at line 3 of function make_id_err called by :
... etc
In Scilab 6.0:
--> getversion("scilab")
ans =
6. 0. 0. 1.477D+09
--> function id = make_id_err()
> UUID = jimport("java.util.UUID", %f)
> tmp = UUID.randomUUID()
> id = tmp.toString()
> endfunction
--> make_id_err()
ans =
49e4f3f1-736a-435f-bc26-f7061f10de27
BR
Samuel
_______________________________________________
users mailing list
users@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/users