定义

元组使用小括号,只需要在括号中添加元素,并使用逗号隔开即可。

PS:元组中各个元素的类型可以不一样,但数组中的元素必须一样。

示例1

pragma solidity ^0.4.4;
contract test {function f(uint a,uint b ) returns (uint,uint) {return (a+b,a*b); //返回的是一个元组}
}

示例2(等价)

pragma solidity ^0.4.4;
contract test {function f(uint a,uint b ) returns (uint x,uint y) {x = a+b;y = a*b;}
}

元组的使用

pragma solidity ^0.4.4;
contract test {uint[]  data =new uint[](5);function f() constant returns (uint,bool,uint) {return (7,true,2);}function g1() constant returns (uint,bool,uint) {var (x,y,z) = f();return (x,y,z);}function g2() constant returns (uint,uint) {var (x,y,z) = f();(x,z) = (2,7);return (x,z);}function g3() constant returns (uint,uint) {var (x,y,z) = f();(x,z) = (2,7);(x,z) = (z,x);return (x,z);}function g4() constant returns (uint[]) {(data.length,) = f();return data;}function g5() constant returns (uint[]) {(,data[3]) = f();return data;}function g6() constant returns (uint) {var(x,) = (1,);return x;}
}

Solidify实现一个智能合约14(元组)相关推荐

  1. Solidify实现一个智能合约2(属性和行为的访问权限)

    属性的访问权限 属性:状态变量 属性的权限有三种:public internal private pragma solidity ^0.4.4;/* 属性的权限有三种:public internal ...

  2. Solidify实现一个智能合约12(字典/映射)

    语法 mapping(_keyType => _ValueType) 字典/映射其实就是一个一对一键值对存储关系. 举个例子:{age:18,stuId:10003,name:"His ...

  3. Solidify实现一个智能合约16(创建一个简单的代币)

    创建一个工程,新建一个EncryptedToken合约. 代码如下: pragma solidity ^0.4.4;contract EncryptedToken {uint INITIAL_SUPP ...

  4. Solidify实现一个智能合约17(创建BLC币)

    创建文件夹:mkdir BLC 进入后执行:truffle init 再执行:npm init,一直回车 再执行:npm install zeppelin-solidity hisee@liu:/me ...

  5. Solidify实现一个智能合约10(一维数组和二维数组)

    固定长度的数组 固定长度类型数组的声明及其通过length方法获取数组长度求和. pragma solidity ^0.4.4; /* 数组一旦创建,长度不可变 但里面的内容可变 */ contrac ...

  6. Solidify实现一个智能合约3(单继承与多继承)

    单继承 方法/函数的继承 代码示例 pragma solidity ^0.4.4;contract Animal {uint _weight;uint private _height;uint int ...

  7. Solidify实现一个智能合约5(值类型和引用类型的传递)

    值传递 代码示例: pragma solidity ^0.4.4;contract Person {uint _age;function Person(uint age) {_age = age;}f ...

  8. Solidify实现一个智能合约7(固定大小字节数组)

    固定大小字节数组 固定大小字节数组可以通过bytes1,bytes2,bytes3,...,bytes32来进行声明.PS:byte的别名就是bytes1. bytes1只能存储1个字节,也就是二进制 ...

  9. Solidify实现一个智能合约11(结构体)

    结构体的声明 pragma solidity ^0.4.4;contract Students {struct Person {uint age;uint stuId;string name;}Per ...

最新文章

  1. SAP HUM 带HU的TO单对应的外向交货单VL09取消PGI之后不能对该交货单执行LT0G做WM层面的返架?
  2. C#使用sqlite-net搭建简易的ORM
  3. html5 css3 卡片切换,HTML5之纯CSS3实现的tab标签切换
  4. 致北漂——你来北京不是为了配合出演苦情戏
  5. Nginx入门之两种handler函数的挂载方式
  6. 智慧交通day01-算法库01:numba
  7. matlab save txt 乱码,matlab代码或中文复制到word就变成乱码怎么办?
  8. 《C和指针》——在一组字符串中查找
  9. 利用python进行数据分析微盘_谁有有《利用Python进行数据分析》pdf 谢谢
  10. 亲和数[HDU2040]
  11. 5分钟带你入门vuex(vue状态管理)
  12. Angr安装与使用之使用篇(十六)
  13. 处理自己计算机某的端口被占问题
  14. 层次分析法(AHP)——算数平均值法、几何平均值法、特征值法(Python实现,超详细注释)
  15. Anaconda||install报错:CondaHTTPError: HTTP 000 CONNECTION FAILED for url <https://mirrors.tuna.tsinghu
  16. paddle深度学习基础之训练调试与优化
  17. 【折腾服务器 1】妖板 Intel N5105 + i226 主板安装 ESXi 7.0 教程
  18. meTools - 每个人都能拥有的在线工具网站
  19. 芯片制造的关键——光刻技术
  20. 基于VUE+SSM框架的公司公文管理系统(毕业设计+论文)

热门文章

  1. Python Selenium UI自动化测试
  2. mac brew 安装pip3,Installing with get-pip.py
  3. Android(三十二):AlertDialog 对话弹窗
  4. 基于STM32单片机的密码锁(Proteus仿真、程序)
  5. vue项目启动成功浏览器不显示
  6. 在控制台打印佛祖图片
  7. 如火如荼的国产数据库,能否替换Oracle数据库?
  8. 全志V853平台Camera模块开发框架详解
  9. 【2022河南萌新联赛第(五)场:信息工程大学】【部分思路题解+代码解析】
  10. 【马红“名师+”】教学指导带成长 听课磨课促提升——马红“名师+”工作室教学能手赛前练兵活动