找回密码
 立即注册

QQ登录

只需一步,快速开始

扫一扫,访问微社区

查看: 778|回复: 10

[求助] VL有变量组吗?

[复制链接]

已领礼包: 3个

财富等级: 恭喜发财

发表于 2016-12-22 21:33:44 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有账号?立即注册

×
VL有变量组吗?比如我想A1+a2+a3+.....A100,可否设置成A(n),n=1,2,1,.......
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-22 21:37:53 | 显示全部楼层
你可以用表(seteq lst (list 1 2 3 4 5))
(nth 0 lst) ===1
(nth 1 lst) === 2
......
(nth 4 lst) ===5
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-24 21:56:28 | 显示全部楼层
感谢newer。我也知道以上用法,但是感觉还是不方便。如果VL可以像fortran一样有变量组就好了!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 604个

财富等级: 财运亨通

发表于 2016-12-24 22:02:11 | 显示全部楼层

lisp只有表,没有数组,习惯了就好了。我觉得那个数组挺麻烦的。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-24 22:05:54 | 显示全部楼层
本帖最后由 newer 于 2016-12-24 22:08 编辑

每种语言有自己的语法规则,你习惯了LISP的表就会发现,表是一种很强的数据结构,强大的表处理结构和方式,也是LISP为什么被用在人工智能领域的主要原因。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-24 22:09:05 | 显示全部楼层
本帖最后由 shenfjliu 于 2016-12-24 22:10 编辑

感谢/db_自贡黄明儒_
只是我觉得数组比较方便。举个例子,比如我有30个变量a1,a2....A30 ,需要把变量A(n)的数值变成字符串,真是很麻烦。如果有数组,(setq a(n)(itoa a(n)))即可,呵呵!
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2016-12-24 22:28:58 | 显示全部楼层
本帖最后由 marting 于 2016-12-24 22:31 编辑

什么语言能让你 (setq a[n] (itoa a[n])) 一句就能完成数组所有元素的赋值? 你不还得循环吗?[code]
for (int j=0;j<30;j++)
{
     a [j] = itoa(a[j ]);
}

在说了,其他高级语言是有数据类型的,整数数组里面能允许你存字符串?编译能过吗?

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-24 22:34:20 | 显示全部楼层

如果LISP的表

(setq a '(1 2 3 4 5 6 7 8 9))

你说麻烦,你想把他们变成字符串,你会怎么写? 试试写下贴上来。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 20个

财富等级: 恭喜发财

发表于 2016-12-24 23:11:50 | 显示全部楼层
楼主对LISP的表处理还没理解到位
LISP要方便的多

拿上面N版的例子

(setq a '(1 2 3 4 5 6 7 8 9))

你想把他们变成字符串,只一行
(mapcar 'itoa a)


命令: (mapcar 'itoa a)
("1" "2" "3" "4" "5" "6" "7" "8" "9")


更狠点,任何类型的,都变成字符串

(setq a '(1 2.0 34 (1 2 3.0) 34.333 t nil))
(mapcar 'vl-princ-to-string a)


命令: (mapcar 'vl-princ-to-string a)
("1" "2.0" "34" "(1 2 3.0)" "34.333" "T" "nil")

论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 3个

财富等级: 恭喜发财

 楼主| 发表于 2016-12-25 11:01:35 | 显示全部楼层
非常感谢各位!我是一个VL语言的二把刀。感谢各位指导。
@marting  你的思路对我来说很新奇,mapcar命令我还不熟,研究一下。谢谢!在fortran里肯定会用到循环,我只是开玩笑写了一行。见谅了。
@newer  我用的笨方法,一行一行的写。
所以我想有个简便的方法。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

已领礼包: 40个

财富等级: 招财进宝

发表于 2016-12-25 13:02:25 | 显示全部楼层

熟练了mapcar你就理解了LISP的表,用mapcar搜索下论坛看看。
论坛插件加载方法
发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;
如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子标题加上【已解决】;
如何回报帮助你解决问题的坛友,一个好办法就是给对方加【D豆】,加分不会扣除自己的积分,做一个热心并受欢迎的人!
回复 支持 反对

使用道具 举报

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

本版积分规则

QQ|申请友链|Archiver|手机版|小黑屋|辽公网安备|晓东CAD家园 ( 辽ICP备15016793号 )

GMT+8, 2025-9-27 12:32 , Processed in 0.190667 second(s), 49 queries , Gzip On.

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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