精易论坛

标题: 数据类型 [打印本页]

作者: limonks    时间: 2019-7-23 16:05
标题: 数据类型
易语言除了json之外。还有没有其他办法可以动态的取出数值啊
比如我定义一个类型。map{a[1,2],b[1,2],c[2,3],d[3,4],e[4,5]}
str = "b"

可以通过什么方式取出map.str的内容

作者: wzj2015    时间: 2019-7-23 16:13
.版本 2
.支持库 spec

.子程序 _按钮1_被单击
.局部变量 文本, 文本型, , "0"
.局部变量 m, 整数型

wb=分割文本 (到文本({a[1,2],b[1,2],c[2,3],d[3,4],e[4,5]}), “,”, )

.计次循环首 (取数组成员数 (文本), m)

    .如果 (寻找文本 (文本 [m], “b”, , 假) = 真)
        调试输出 (文本 [m])

    .否则

    .如果结束

.计次循环尾 ()



补充内容 (2019-7-23 16:16):
有点不严谨,第一次分割是最好用 把"," 改成 "],"
希望能帮到你
作者: 寒潮    时间: 2019-7-23 16:14
20190723-自定义数据类型.e (2.73 KB, 下载次数: 3)


不知道是不是你所需要的。




作者: limonks    时间: 2019-7-23 16:19
寒潮 发表于 2019-7-23 16:14
不知道是不是你所需要的。

有用是有用。问题是。。我定义的MAP是一个常量。而且里面的数据特别多。几百条。但是又会经常用到。所以想问下有没有其他的办法。能够更快,简洁的实现
作者: 寒潮    时间: 2019-7-23 16:24
limonks 发表于 2019-7-23 16:19
有用是有用。问题是。。我定义的MAP是一个常量。而且里面的数据特别多。几百条。但是又会经常用到。所以 ...

哦。那就只能这样的:
1、对常量进行处理,形成“a[1,2],b[1,2],c[2,3],d[3,4],e[4,5]”这样形式的数据(无非子文本替换,去掉左右花括号)
2、使用时按照“,”进行文本分割,然后数组循环取左方括号前面的文本进行匹配,然后取[]中间的内容
    其中取[]中间的内容,可以用精易模块里面的取出中间文本命令,也是很方便的。
3、找到数据后就跳出循环即可。
作者: 走一回    时间: 2019-7-23 16:30
用配置文件 或是 xml都可以的吧
作者: 鹏书    时间: 2019-7-23 16:46
正则了解一下。当然json肯定是最好用得




欢迎光临 精易论坛 (https://125.confly.eu.org/) Powered by Discuz! X3.4