You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为何DolphinDB中`DOUBLE[]`在反引号符号向量中引发语法错误?

关于DolphinDB loadText定义数组类型schema的疑问解答

这是DolphinDB的设计使然,并非解析器局限,具体原因如下:

  • 反引号的作用边界:反引号在DolphinDB里是用来包裹基础标识符的,比如变量名、基础类型名(DOUBLE、LONG这类)。但DOUBLE[]、LONG[]属于复合类型,解析器会把[]当成数组索引的语法标记,而非类型名的一部分,所以直接用DOUBLE[]会触发语法错误——它会被拆解成DOUBLE类型加索引操作,完全不符合schema类型定义的预期。

  • 字符串字面量的设计支持:loadText的schema参数在设计时就支持用字符串来定义复合类型,因为字符串可以完整保留复合类型的结构信息,不管是一维数组、多维数组还是其他嵌套类型,用字符串都能精准表达,不会出现解析歧义。

  • schema()返回字符串的原因:同样是设计考量,复合类型的结构没法用单一的标识符来表示,比如DOUBLE[][](二维数组)、DOUBLE[5](固定长度数组)这类复杂类型,用字符串能清晰展示完整的类型结构,让用户一眼看懂列的类型细节。

举个简单的对比示例:

// 错误写法:触发语法错误
schema = table(1:0, `col1`col2, [`DOUBLE[]`, `LONG[]`])

// 正确写法:正常运行
schema = table(1:0, `col1`col2, ["DOUBLE[]", "LONG[]"])

内容的提问来源于stack exchange,提问作者Allan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.12 22:22:03