我在玩 LabVIEW 最基本的功能,例如将单个元素转换为数组和集群,来回转换。(不要质疑所示算法的使用,没有。)
当将集群(当然是相似类型)转换为数组时,将其用于简单的数学运算,然后将其转换回集群,以下解包将集群拆分为其单个元素的行为很奇怪。将 unbundle 连接到这个现有集群,它会自动将其大小增加到 9,而不是预期的 3。探针和数字指示器显示前三个项目上方的元素为零。
为什么是这样?我希望要集群的数组知道转换后的数组的大小并相应地适合集群。
虽然人们可以期望 Array To Cluster 自动将数组的大小应用于集群,但它使用固定的默认值,而不管底层数组的大小:
默认值为九。此函数的最大簇大小为 256。
来源:http: //zone.ni.com/reference/en-XX/help/371361J-01/glang/array_to_cluster/
可以通过右键单击函数并从快捷菜单中选择集群大小来更改此值。不幸的是,这也意味着每次更改数组时都要手动修复此问题。
解释:这种行为的原因是虽然数组的大小可以在运行时动态变化,但簇的数据结构在编译时是固定的(LabVIEW 是一种强类型语言)。需要告诉编译器集群的大小。如果您真的需要在运行时创建任意集群,您可能可以对变体做一些事情,但我会再看看您要实现的目标,以检查它是否真的有必要。
| 归档时间: |
|
| 查看次数: |
1149 次 |
| 最近记录: |