首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >映射到映射?或映射到结构

映射到映射?或映射到结构
EN

Ethereum用户
提问于 2018-03-03 02:45:59
回答 1查看 3K关注 0票数 1

有可能做一些类似于下面的事情吗?目前,编译时会抛出一个错误,说明“名称必须引用结构、枚举或合同”。我也有“工作?”不过,我不知道哪一种方法才是正确的。

代码语言:javascript
复制
mapping(address => uint256) shelf;
mapping (address => shelf) bookcase;

这个想法是,一个地址会指向一个书架,书架上的书架会指向一个整数(书籍的数量)。

下面的工作到目前为止很好,为货架的价值设置。这个版本的问题是我不能把书柜公之于众,也想不出如何创建一个getter。

代码语言:javascript
复制
struct shelf
{
  mapping(address => uint256) shelves;      
}
mapping (address => shelves) bookcase;
bookcase[msg.sender] = shelf();
//shelf_address is argument from the function this code is in
bookcase[msg.sender].shelves[shelf_address] = 1;

谢谢你的指点。

EN

回答 1

Ethereum用户

发布于 2018-03-03 03:00:36

这是如何在映射中使用嵌套映射和结构。

在现实生活中,您可以通过书架-地址--.books/-地址--.shelfId访问第二个映射数组。

代码语言:javascript
复制
pragma solidity ^0.4.10;

contract Mappings {
    mapping(address => mapping(uint256 => Shelf)) bookcase;
    struct Shelf {
      bytes32[] books;
      uint shelfId;
    }
}
票数 3
EN
页面原文内容由Ethereum提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://ethereum.stackexchange.com/questions/41523

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档