diff options
Diffstat (limited to 'sourcecodes/bnt-master/BNT/@assocarray')
5 files changed, 30 insertions, 0 deletions
diff --git a/sourcecodes/bnt-master/BNT/@assocarray/CVS/Entries b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Entries new file mode 100644 index 00000000..dc217e2f --- /dev/null +++ b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Entries @@ -0,0 +1,3 @@ +/assocarray.m/1.1.1.1/Wed May 29 15:59:52 2002// +/subsref.m/1.1.1.1/Wed Aug 4 19:36:30 2004// +D diff --git a/sourcecodes/bnt-master/BNT/@assocarray/CVS/Repository b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Repository new file mode 100644 index 00000000..258fe401 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Repository @@ -0,0 +1 @@ +FullBNT/BNT/@assocarray diff --git a/sourcecodes/bnt-master/BNT/@assocarray/CVS/Root b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Root new file mode 100644 index 00000000..f3bd14a6 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/@assocarray/CVS/Root @@ -0,0 +1 @@ +:ext:nsaunier@bnt.cvs.sourceforge.net:/cvsroot/bnt diff --git a/sourcecodes/bnt-master/BNT/@assocarray/assocarray.m b/sourcecodes/bnt-master/BNT/@assocarray/assocarray.m new file mode 100644 index 00000000..84f96361 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/@assocarray/assocarray.m @@ -0,0 +1,10 @@ +function A = assocarray(keys, vals) +% ASSOCARRAY Make an associative array +% function A = assocarray(keys, vals) +% +% keys{i} is the i'th string, vals{i} is the i'th value. +% After construction, A('foo') will return the value associated with foo. + +A.keys = keys; +A.vals = vals; +A = class(A, 'assocarray'); diff --git a/sourcecodes/bnt-master/BNT/@assocarray/subsref.m b/sourcecodes/bnt-master/BNT/@assocarray/subsref.m new file mode 100644 index 00000000..12673106 --- /dev/null +++ b/sourcecodes/bnt-master/BNT/@assocarray/subsref.m @@ -0,0 +1,15 @@ +function val = subsref(A, S) +% SUBSREF Subscript reference for an associative array +% A('foo') will return the value associated with foo. +% If there are multiple identicaly keys, the first match is returned. +% Currently the search is sequential. + +i = 1; +while i <= length(A.keys) + if strcmp(S.subs{1}, A.keys{i}) + val = A.vals{i}; + return; + end + i = i + 1; +end +error(['can''t find ' S.subs{1}]) |
