以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.com/bbs/index.asp)
--  专家坐堂  (http://foxtable.com/bbs/list.asp?boardid=2)
----  请问大师函数的参数  (http://foxtable.com/bbs/dispbbs.asp?boardid=2&id=103451)

--  作者:hbhb
--  发布时间:2017/7/8 18:34:00
--  请问大师函数的参数
大师:请问下面的写法为何不等于2
Dim zf As String  = "1,2"
Output.Show(Functions.Execute("max",zf))

--  作者:wyz20130512
--  发布时间:2017/7/8 22:47:00
--  
贴出你的定义函数“max”的代码。

[此贴子已经被作者于2017/7/8 22:53:58编辑过]

--  作者:y2287958
--  发布时间:2017/7/8 22:56:00
--  
你这样写法中,zf是一个参数,而函数应该是1和2两个参数
--  作者:有点甜
--  发布时间:2017/7/9 10:19:00
--  

 

Dim zf As String  = "1,2"
Output.Show(Functions.Execute("max",zf.split(",")))

--  作者:hbhb
--  发布时间:2017/7/9 13:39:00
--  
甜老大就是厉害!有空来南京敬茅台半斤。
请问上面的例子,可否延伸为,当参数个数不固定时,可以组合,然后数组形式赋给函数?
就是如果函数的参数为集合或数组,可否用集合名称作为字符串组合,然后名称数组赋值?

--  作者:有点甜
--  发布时间:2017/7/9 14:15:00
--  

如果参数不固定,可以用数组,这个数组可以是object类型,你添加什么都可以,比如

 

Dim ls As new List(of Object)
ls.add(123)
ls.add("456")
Dim ary() As String = {"1", "2", "3"}
ls.add(ary)
ls.add(DataTables("表B"))

Functions.Execute("max", ls.ToArray)

 

你也可以把其作为一个参数,如

 

Dim ls As new List(of Object)
ls.add(123)
ls.add("456")
Dim ary() As String = {"1", "2", "3"}
ls.add(ary)
ls.add(DataTables("表B"))

Functions.Execute("max", ls)

[此贴子已经被作者于2017/7/9 14:15:08编辑过]