有没有合并多个一维数组变成二维数组的自定义函数?[已解决]
本帖最后由 cashiba 于 2017-3-18 09:34 编辑想把两个或多个一维数组并成二维数组,也就是每个一维数组成为新二维数组的一个列
或者把某个一维数组添加到某个二维数组的某列前或后
类似的自定义函数好像只有_ArrayCombinations,但最终效果是线性连接成一维数组
#include <Array.au3>
Local $aArrayTarget = ["0", "1", "2", "3", "4"]
Local $aArraySource = ["5", "6", "7", "8", "9"]
_ArrayDisplay($aArrayTarget, "1D 目标")
_ArrayDisplay($aArraySource, "1D 源")
_ArrayConcatenate($aArrayTarget, $aArraySource)
_ArrayDisplay($aArrayTarget, "1D 目标和源连接")
要自己写,简单示例#include <Array.au3>
Local $aArrayTarget = ["0", "1", "2", "3", "4"]
Local $aArraySource = ["5", "6", "7", "8", "9"]
$arr = _arrayto2d($aArrayTarget, $aArraySource)
If Not @error Then _ArrayDisplay($arr)
Func _arrayto2d($arr1, $arr2)
Local $n = UBound($arr1)
If $n <> UBound($arr2) Then Return SetError(1)
Dim $arr3[$n]
For $i = 0 To $n-1
$arr3[$i] = $arr1[$i]
$arr3[$i] = $arr2[$i]
Next
Return $arr3
EndFunc 要自己写,简单示例
komaau3 发表于 2016-11-9 16:04 http://www.autoitx.com/images/common/back.gif
对AU3略懂皮毛,还不会自己写数组函数,前阵还在问AU3里有没有动态数组的问题呢
再说自己写的函数通用性太差阿....
对数组的一些自定义函数还不熟悉,以为有那个函数可以做到这些呢,所以问一下达人们....
1、几个一维数组并列合并成一个二维数组
2、或一个一维数组并列合并到一个二维数组里
3、或两个二维数组并列合并
短于最大下标的,用空值或nul填充
也就是说横向合并数组。看了一下,目前的自定义函数里好像只有串行或纵向合并的 Ruby的内置数组函数很丰富,这样的问题就不是问题阿,可惜不会调用,而且也不知道调用Ruby的代码编译后能不能正常运行.... 回复 4# cashiba
redim 回复cashiba
redim
komaau3 发表于 2016-11-10 11:46 http://www.autoitx.com/images/common/back.gif
对vb了解的比AU3多,所以才会有动态数组与静态数组的概念,redim和preserve在VB里构造动态数组时经常用....
页:
[1]