Le 24/04/2019 à 10:07, Samuel Gougeon a écrit :
.../...
For the general discussion, i think that, from a user's point a view,
when using a container as LHS argument, a distributive assignment
would be *often* very useful. It might be either through a new *.=*
"operator", or through the classic "=" one but only when for instance
the RHS is a container as well,
* either a list with the right number of elements at depth = 0
* or a cell or struct array with the same sizes as the cell or
struct (or struct or cell) on the LHS
AFAIR, this kind of feature is already reported as a wish.
By the way, while it was possible in Scilab 5.5.2 to assign the elements
of a list to all elements of the field of an array of structures, it is
no longer the case in Scilab 6.0:
--> clear s
--> s.a = %pi;
--> s.b = "a";
--> s(2).a = %e;
--> s(2).b = "b"
s =
2x1 struct array with fields:
a
b
--> setfield("a", list(%i, 3.1), s)
setfield: Wrong type for input argument #3: List expected.
In Scilab 5, we get the right assignment:
-->setfield("a",list(%i,3.1),s)
-->s.a
ans =
ans(1)
i
ans(2)
3.1
-->s(2).a
ans =
3.1
This Scilab 6 restriction weakens the usage of arrays of structures.
Samuel
_______________________________________________
dev mailing list
dev@lists.scilab.org
http://lists.scilab.org/mailman/listinfo/dev