开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 9900|回复: 13
收起左侧

[技术专题] 易语言的高维数组

[复制链接]
结帖率:80% (4/5)
发表于 2022-7-31 22:09:11 | 显示全部楼层 |阅读模式   广东省深圳市
本帖最后由 sid 于 2022-7-31 22:36 编辑

在程序中运用高维数组是常见的, 易语言也有高维数组, 但是运用方法和其他语言有区别. 本人在制作运用高维数组的程序过程中, 通过向他人求助和自己探索得出来易语言高维数组的特点和运用技巧, 鉴于论坛中这方面帖子不多, 在此发布相关教程.


一、高维数组的定义方式

一个让人向往的简单数组赋值方式是{{{},{}},{},{{},{},{}}}这样用花括号, 然而易语言不支持, 无法通过语法检测, 会报错编号为(42): 常数集定义格式错误. 不过可以先用一维数组写好(相当于按照不符合语法的那种方式写好之后删掉所有里面的大括号), 然后用"重定义数组"改成高维数组. 举例: 想要变量x是数组{{{3,4},{5,6}},{{1,2},{5,2}},{{1,7},{9,0}}}, 应该定义x为一维数组, 先x={3,4,5,6,1,2,5,2,1,7,9,0}, 然后重定义数组(x,真,3,2,2).

另外, 也可以用x[...][...][...]=...这样的一般赋值方法也是合法的.


二、高维数组用下标访问的时候

下面依然有x表示上面的数组. 按照正常的想法, x[1]返回的应该是x在第一个维度下(最外层的维度)的第一个元素(另外, 易语言数组下标从1开始不是0), 也就是{{3,4},{5,6}}. 但是事实上会返回第一个, 不考虑维度下的元素, 也就是3. 想要得到返回{{3,4},{5,6}}这一结果只能另写一个函数, 在其中建立临时变量, 用加入成员命令和x的下标访问来组件出来.

事实上, 我认为易语言数组功能在高维情况下不太理想.


三、欢迎提意见和分享其他能够达到目的的方法

我即将发布的源码分享作品就包含以上内容的程序, 我也是第一次用高维数组, 结合自己探索和网上资料, 如果有更好的方法我会改进.


发表于 2024-6-14 09:40:36 | 显示全部楼层   江苏省苏州市
回复 支持 反对

使用道具 举报

发表于 2024-2-29 00:27:22 高大上手机用户 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
谢谢分享
回复 支持 反对

使用道具 举报

结帖率:100% (1/1)
发表于 2022-9-30 13:49:17 高大上手机用户 | 显示全部楼层   广东省广州市
进来看看
回复 支持 反对

使用道具 举报

发表于 2022-8-3 14:10:27 | 显示全部楼层   广东省广州市
谢谢分享
回复 支持 反对

使用道具 举报

发表于 2022-8-3 14:01:51 | 显示全部楼层   广东省广州市
学习了,
回复 支持 反对

使用道具 举报

头像被屏蔽
结帖率:100% (45/45)
发表于 2022-8-1 00:06:55 | 显示全部楼层   新疆维吾尔自治区乌鲁木齐市
sid 发表于 2022-8-1 00:02
你看一下为什么我还是社不了签名?我看说能50字节

在  我的》个人资料   里的【签名】
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
 楼主| 发表于 2022-8-1 00:02:31 | 显示全部楼层   广东省深圳市
Xiaochuzhang 发表于 2022-7-31 23:45
其实感觉易语言高维数组这样子很方便啦。比如【Data[x][y][z]】,很方便就可以做一个三维世界,一目了然( ...

你看一下为什么我还是社不了签名?我看说能50字节
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
 楼主| 发表于 2022-7-31 23:59:59 | 显示全部楼层   广东省深圳市
Xiaochuzhang 发表于 2022-7-31 23:45
其实感觉易语言高维数组这样子很方便啦。比如【Data[x][y][z]】,很方便就可以做一个三维世界,一目了然( ...

还有我升级了!耶

点评

我的积分是你的13倍 嘿嘿   新疆维吾尔自治区乌鲁木齐市  发表于 2022-8-1 00:01
啊这   新疆维吾尔自治区乌鲁木齐市  发表于 2022-8-1 00:01
回复 支持 反对

使用道具 举报

结帖率:80% (4/5)
 楼主| 发表于 2022-7-31 23:59:43 | 显示全部楼层   广东省深圳市
Xiaochuzhang 发表于 2022-7-31 23:45
其实感觉易语言高维数组这样子很方便啦。比如【Data[x][y][z]】,很方便就可以做一个三维世界,一目了然( ...

对,但是赋值做的不好
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表