以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  请问下面的自定义函数错在哪里?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=102066)

--  作者:hbhb
--  发布时间:2017/6/12 21:54:00
--  请问下面的自定义函数错在哪里?
Dim Parts() As String  = args(0)
Dim Str1 As String
Str1 = String.Join("\',\'",Parts)

Dim zfc As String
zfc = "\'" & Str1 & "\'"
Return zfc

--  作者:有点蓝
--  发布时间:2017/6/12 22:10:00
--  
代码没有问题,使用函数的时候要注意

Dim arr() As String = {"a","b","c"}
Dim str As String = Functions.Execute("abc",arr,False)
Output.Show(str)

--  作者:hbhb
--  发布时间:2017/6/12 23:08:00
--  
why????,不是一个参数吗?项目中有的为何不报错?
--  作者:有点蓝
--  发布时间:2017/6/13 8:58:00
--  
如果不加false,函数会把数组当成是多个参数进行处理,比如Dim arr() As String = {"a","b","c"}
函数接收到的就是
args(0) = "a"
args(1) = "b"
args(2) = "c"

--  作者:hbhb
--  发布时间:2017/6/13 10:26:00
--  
如果函数本身指定args(1),也就是说参数多于一个的情况下,就不会报错?
--  作者:有点色
--  发布时间:2017/6/13 10:29:00
--  
以下是引用hbhb在2017/6/13 10:26:00的发言:
如果函数本身指定args(1),也就是说参数多于一个的情况下,就不会报错?

 

是的。