如何 return 来自 OpenOffice Basic 函数的数组?
How do I return an array from an OpenOffice Basic function?
我正在阅读有关 OpenOffice regarding arrays 的文档,似乎 Calc
能够像 Excel
.
一样使用数组函数
为了测试这个,我创建了一个简单的函数,它应该 return 一个数组 {1, 2, 3}
:
Function Test()
Dim Test(3) As Variant
Test(1) = 1
Test(2) = 2
Test(3) = 3
End Function
当我用 =Test()
填充一个单元格并按 Ctrl+Shift+Enter
时,我只得到一个带有 3
的单元格。 1
和 2
在哪里?我做错了什么?
我是 运行 OpenOffice 4.1.1
。
函数 return 类型的维度必须在 Function
语句中完成。如果函数应 return 一个数组,则它的维度必须为 Variant
。 starbasic 无法直接将函数标注为数组类型。数组本身可以在函数体内单独创建,然后作为 return 值分配给函数。
像这样:
Function Test() as Variant
Dim arr_Test(1 to 3) As Integer
arr_Test(1) = 1
arr_Test(2) = 2
arr_Test(3) = 3
Test = arr_Test
End Function
或者,如果您希望它更短,您可以使用内置的 Array
函数,其中 return 是一个包含数组的 Variant
。
像这样:
Function Test2() as Variant
Test2 = Array(1,2,3)
End Function
openoffice- / libreoffice- / -BASIC 编程的文档:
https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide
https://wiki.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide -> https://wiki.openoffice.org/wiki/Documentation/DevGuide/Basic/OpenOffice.org_Basic
但两者都没有完整的 BASIC 基础知识参考资料 ;-) 例如所有内置函数的参考资料。
https://help.libreoffice.org/Basic/Basic_Help -> https://help.libreoffice.org/Basic/Run-Time_Functions
好像差不多全了。
我正在阅读有关 OpenOffice regarding arrays 的文档,似乎 Calc
能够像 Excel
.
为了测试这个,我创建了一个简单的函数,它应该 return 一个数组 {1, 2, 3}
:
Function Test()
Dim Test(3) As Variant
Test(1) = 1
Test(2) = 2
Test(3) = 3
End Function
当我用 =Test()
填充一个单元格并按 Ctrl+Shift+Enter
时,我只得到一个带有 3
的单元格。 1
和 2
在哪里?我做错了什么?
我是 运行 OpenOffice 4.1.1
。
函数 return 类型的维度必须在 Function
语句中完成。如果函数应 return 一个数组,则它的维度必须为 Variant
。 starbasic 无法直接将函数标注为数组类型。数组本身可以在函数体内单独创建,然后作为 return 值分配给函数。
像这样:
Function Test() as Variant
Dim arr_Test(1 to 3) As Integer
arr_Test(1) = 1
arr_Test(2) = 2
arr_Test(3) = 3
Test = arr_Test
End Function
或者,如果您希望它更短,您可以使用内置的 Array
函数,其中 return 是一个包含数组的 Variant
。
像这样:
Function Test2() as Variant
Test2 = Array(1,2,3)
End Function
openoffice- / libreoffice- / -BASIC 编程的文档:
https://wiki.openoffice.org/wiki/Documentation/BASIC_Guide
https://wiki.openoffice.org/wiki/Documentation/DevGuide/OpenOffice.org_Developers_Guide -> https://wiki.openoffice.org/wiki/Documentation/DevGuide/Basic/OpenOffice.org_Basic
但两者都没有完整的 BASIC 基础知识参考资料 ;-) 例如所有内置函数的参考资料。
https://help.libreoffice.org/Basic/Basic_Help -> https://help.libreoffice.org/Basic/Run-Time_Functions 好像差不多全了。