Ethereum 如何设置数组的大小,通过数组的稳定度来返回?
如何根据参数中的数组设置返回数组的固定长度Ethereum 如何设置数组的大小,通过数组的稳定度来返回?,ethereum,solidity,Ethereum,Solidity,如何根据参数中的数组设置返回数组的固定长度 // For example I have this simple function, which convert array uint to int // but this not works, because dynamic length array function convertUintToInt(uint[] _input) public pure returns(int[] _output){ for(uint i =
// For example I have this simple function, which convert array uint to int
// but this not works, because dynamic length array
function convertUintToInt(uint[] _input) public pure returns(int[] _output){
for(uint i = 0; i < _input.length; i++){
_output[i] = int(_input[i]);
}
return _output;
}
// this works for length 10, but if input.length < 10 this return unnecessary empty items
// if _input.length > 10 this will not works
function convertUintToInt(uint[] _input) public pure returns(int[10] _output)
// I need just something like this
function convertUintToInt(uint[] _input) public pure returns(int[_input.length] _output)
//例如,我有一个简单的函数,它将数组uint转换为int
//但这不起作用,因为动态长度数组
函数convertuintoint(uint[]\u输入)公共纯返回(int[]\u输出){
对于(uint i=0;i<\u input.length;i++){
_输出[i]=int(_输入[i]);
}
返回输出;
}
//这适用于长度10,但如果input.length<10,则返回不必要的空项
//如果_input.length>10,这将不起作用
函数convertuintoint(uint[]\u输入)公共纯返回(int[10]\u输出)
//我需要像这样的东西
函数convertuintoint(uint[]\u input)公共纯返回(int[\u input.length]\u输出)
主要目标是不使用存储
我只需要为转换数据创建可读的契约助手pragma solidity^0.5.12;
pragma solidity ^0.5.12;
contract Ballot {
function convertUintToInt(uint256[] memory _input) public pure returns(int[] memory){
int[] memory tmpArr = new int[](_input.length);
for(uint i = 0; i < _input.length; i++){
tmpArr[i] = int(_input[i]);
}
return tmpArr;
}
}
合同投票{
函数convertuintoint(uint256[]内存_输入)公共纯返回(int[]内存){
int[]内存tmpArr=newint[](_input.length);
对于(uint i=0;i<\u input.length;i++){
tmpArr[i]=int(_输入[i]);
}
返回tmpArr;
}
}
布拉格语坚固性^0.5.12;
合同投票{
函数convertuintoint(uint256[]内存_输入)公共纯返回(int[]内存){
int[]内存tmpArr=newint[](_input.length);
对于(uint i=0;i<\u input.length;i++){
tmpArr[i]=int(_输入[i]);
}
返回tmpArr;
}
}