首页/文章/ 详情

二维数组的写出——以输出10×10的二维数组为例。

11月前浏览995
FLAC3D提供了file.write函数供使用者将数组内存储的元素写入特定文件,但是file.write函数只对于一维数组有效,对于多维数组,该函数只能写出数组的第一列元素(仅代表笔者个人见解,如果可以直接实现多维数组写出,欢迎投稿),因此在写出多维数组时,应首先将原数组的元素字符化,并存入新的一维数组中,最后再写出到本地文件中。

======案例演示======

首先构造一个10×10的二维数组,然后分别测试不经过字符化直接输出以及经过字符化后输出,相关命令流及测试结果如下:





















;export the array directlymodel new;fill the arrayfish def afill    array var(10,10)    loop m(1,10)        loop n(1,10)            var(m,n) = m*n        endloop    endloopend@afill;export the array fish def aexp  status = file.open('test1.txt',1,1)  status = file.write(var,10)  status = file.close end@aexp
直接输出数组的结果见图1,可见该命令只输出了数组的第一列元素。

图1 直接输出数组元素结果图






























;export the array after converting all the array elements to stringsmodel new;fill the arrayfish def afill    array var(10,10)    loop m(1,10)        loop n(1,10)            var(m,n) = m*n        endloop    endloopend@afill;export the array fish def aexp    array exp(10)    count = 0    loop m(1,10)        count = count + 1        msg = ''         loop n(1,10)            msg = msg + ' ' + string(var(m,n))            exp(count) = msg        endloop    endloop    status = file.open('test2.txt',1,1)    status = file.write(exp,10)    status = file.closeend@aexp
输出结果见图2,使用该命令流输出的txt文件可用excel打开,并自动分列,见图3。但需要注意的是,不可以直接输出数组为Excel文件。

图2 字符化后输出数组元素结果图-1

图3 字符化后输出数组元素结果图-2

======总结======

输出多维数组时,需要间接实现。首先字符化原数组并存入新的一维数组中,最后再输出。


来源:FLAC3D小技巧
FLAC3D
著作权归作者所有,欢迎分享,未经许可,不得转载
首次发布时间:2023-12-26
最近编辑:11月前
FLAC3D小技巧
硕士 专注FLAC3D中的小技巧分享...
获赞 36粉丝 209文章 40课程 0
点赞
收藏
未登录
还没有评论
课程
培训
服务
行家
VIP会员 学习 福利任务 兑换礼品
下载APP
联系我们
帮助与反馈