EDA365电子论坛网

标题: [已经解决]:skill 自己定义的函数怎么返回多个值 [打印本页]

作者: liuyidao    时间: 2022-9-13 19:06
标题: [已经解决]:skill 自己定义的函数怎么返回多个值
本帖最后由 liuyidao 于 2022-9-14 10:01 编辑

如题,skill 自己定义的函数怎么返回多个值。尝试把想返回的多个值组成一个list,但是无法把这几个值传递出去下面

运行后main1 打印结果是: t (a b c)
第二句报错fun1()不是list

( defun fun1()
     a=1
     b=2
     c=4
    list1='(a b c)
)
(defun main()
  printf("L" fun1())
  p=2*nth( 0, fun1())
)






作者: aarom    时间: 2022-9-13 20:25
提示: 作者被禁止或删除 内容自动屏蔽
作者: liuyidao    时间: 2022-9-14 10:01
问题已经解决了,是list定义方法有问题,,用list(a b c)代替 list1='(a b c)就ok了,可以正常打印fun1(),即(1 2 4),而不是(a b c)。
另外也在别的地方查了一些,用list返回多个值是比较普遍简单的用法(原话:Returning multiple values as a list is a clean way to do this)。
作者: aarom    时间: 2022-9-14 11:29
提示: 作者被禁止或删除 内容自动屏蔽




欢迎光临 EDA365电子论坛网 (https://bbs.eda365.com/) Powered by Discuz! X3.2