matlab - 在 Matlab 中索引 map 的 map

标签 matlab oop dictionary

给定以下结构:

mapA=containers.Map('a', 1);
mapB=containers.Map('b', 2);
mapAB = containers.Map({'A', 'B'}, {mapA, mapB});

如何更改值:mapAB('A')('a')mapAB('A')('a') 给出错误:Error: ()-indexing must appear last in an index expression.

对于阅读,可以这样做:

p=mapAB('A');
p=p('a');

但是在索引 ('A')('a') 处写入呢?

最佳答案

containers.Map 对象是句柄类,因此要在您的示例中更改 mapAB('A'),您还可以修改 mapA:

mapA=containers.Map('a', 1);
mapB=containers.Map('b', 2);
mapAB = containers.Map({'A', 'B'}, {mapA, mapB});
mapA('a') = 3;

tmp = mapAB('A');
disp(tmp('a')); % will print 3

如果您以后无法访问 mapAmapB,则必须使用临时变量进行修改,类似于上面的内容:

tmp = mapAB('A');
tmp('a') = 5;
% The following line is not necessary, since you're dealing with handle-objects:
% mapAB('A') = tmp;

关于matlab - 在 Matlab 中索引 map 的 map ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18822517/

相关文章:

python - 用 csv.DictWriter 写入部分行?

matlab - 修改记事本文本

java - 泛型如何影响可能的参数/返回类型

ruby-on-rails - 如何将图标与记录链接,但将其显示在远离记录部分的位置?

C++ - 我应该使 `operator+` 为常量吗?它会返回引用吗?

php - 更多关于 PHP OOP - 类中的类

javascript - 从外部 <a> 标签链接到传单 map 中的标记

matlab - 在使用 plotyy 创建的现有线上方/下方绘制一条线

c - 从 Matlab 运行 C 可执行文件

algorithm - 如何使用 MATLAB 快速检查数组是否互质