* Bug 16292 fixed: hallchart() debugged & improved
[scilab.git] / scilab / modules / string / macros / eval.sci
1 // Scilab ( http://www.scilab.org/ ) - This file is part of Scilab
2 // Copyright (C) INRIA -
3 // Copyright (C) DIGITEO - 2010 - Allan CORNET
4 // Copyright (C) 2016 - Samuel GOUGEON
5 //
6 // Copyright (C) 2012 - 2016 - Scilab Enterprises
7 //
8 // This file is hereby licensed under the terms of the GNU GPL v2.0,
9 // pursuant to article 5.3.4 of the CeCILL v.2.1.
10 // This file was originally licensed under the terms of the CeCILL v2.1,
11 // and continues to be available under such terms.
12 // For more information, see the COPYING file which you should have received
13 // along with this program.
14
15
16 function _h = eval(z)
17     // Syntax :  H = eval(Z)
18     // returns the evaluation of the matrix of character strings Z.
19     // Example: a=1; b=2; Z=['a','b'] ; eval(Z) returns the matrix [1,2];
20
21     warnobsolete("evstr()", "6.1");
22
23     [nL,nC] = size(z);
24     if nL * nC > 1 then
25         L = (1:nL)'*ones(1,nC)
26         C = ones(nL,1)*(1:nC)
27         //str = "_h("+string(L)+","+string(C)+")="+z    // format()-dependent
28         str = msprintf("_h(%d,%d)=%s\n",L(:),C(:),z(:)) // format()-independent
29     elseif z~=[]
30         str = "_h = " + z;
31     else
32         _h = []
33         return
34     end
35     deff("_h = %eval();", str)
36     _h = %eval()
37
38 endfunction