首页/文章/ 详情

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

8月前浏览575
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
      最近编辑:8月前
      FLAC3D小技巧
      硕士 专注FLAC3D中的小技巧分享...
      获赞 31粉丝 176文章 40课程 0
      点赞
      收藏
      未登录
      还没有评论
      课程
      培训
      服务
      行家
      VIP会员 学习 福利任务 兑换礼品
      下载APP
      联系我们
      帮助与反馈