From: <cde...@us...> - 2010-12-23 15:27:57
|
Revision: 8038 http://octave.svn.sourceforge.net/octave/?rev=8038&view=rev Author: cdemills Date: 2010-12-23 15:27:50 +0000 (Thu, 23 Dec 2010) Log Message: ----------- Added a new() operator, which can also works recursivelly Modified Paths: -------------- trunk/octave-forge/extra/dataframe/inst/@dataframe/dataframe.m trunk/octave-forge/extra/dataframe/inst/@dataframe/subsref.m Modified: trunk/octave-forge/extra/dataframe/inst/@dataframe/dataframe.m =================================================================== --- trunk/octave-forge/extra/dataframe/inst/@dataframe/dataframe.m 2010-12-22 23:07:32 UTC (rev 8037) +++ trunk/octave-forge/extra/dataframe/inst/@dataframe/dataframe.m 2010-12-23 15:27:50 UTC (rev 8038) @@ -60,6 +60,7 @@ if 0 == nargin disp('FIXME -- should create a dataframe from the whole workspace') + df = dataframe([]); return endif Modified: trunk/octave-forge/extra/dataframe/inst/@dataframe/subsref.m =================================================================== --- trunk/octave-forge/extra/dataframe/inst/@dataframe/subsref.m 2010-12-22 23:07:32 UTC (rev 8037) +++ trunk/octave-forge/extra/dataframe/inst/@dataframe/subsref.m 2010-12-23 15:27:50 UTC (rev 8038) @@ -127,6 +127,19 @@ case "comment" S(1).subs = "_cmt"; further_deref = true; + case "new" + if (isempty(dummy)), + resu = dataframe([]); + else + if (!strcmp(dummy(1).type, "()")), + error("Bogus constructor call"); + endif + resu = dataframe(dummy(1).subs{:}); + endif + if (length(dummy) > 1), + resu = subsref(resu, dummy(2:end)); + endif + return; otherwise error("Unknown column name: %s", S(1).subs); endswitch This was sent by the SourceForge.net collaborative development platform, the world's largest Open Source development site. |