定义
元组使用小括号,只需要在括号中添加元素,并使用逗号隔开即可。
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;}}