我正在使用下面的方法来联接多个表
() uj/(a;b;c)
但是有什么方法可以传递表列表来实现这一目标?
当前,如果我执行以下操作,则会出现类型错误
tbList:tables[]
() uj/(tbList)
谢谢
答案 0 :(得分:2)
uj
需要表参数,而tables[]
返回根名称空间中的变量名,这些变量是表作为符号列表。
要从中获取表列表,可以使用value each tables[]
,它将依次评估每个变量名称,并将评估后的表作为列表返回。
如果/
(仅)仅提供一个列表参数,它将第一个元素作为初始值,因此您无需像下面这样提供空列表作为初始值:
uj/[value each tables[]]
答案 1 :(得分:2)
从技术上讲,可以通过传递表名来实现:
eval (uj/;enlist,`tab1`tab2`tab3)
但是按照其他人的建议使用value
可能更传统
答案 2 :(得分:0)
() uj/value each tbList
对符号求值,返回它命名的变量的值。