如何使用两个字符串作为参数创建一个函数

时间:2014-11-11 19:50:59

标签: vbscript computer-science

我不完全确定我在这里做错了什么。我已经通过输入和输出测试了代码,并且它按照需要运行,没有双关语意。 :'P

我只是没有正确设置这个功能,我相信这是因为我的论点恰好是一个字符串。如果正确完成,“CD”将被插入“ABEF”的中间。那么,我该怎么做呢?

谢谢!

insertstr(ABEF, CD)

Function insertstr(string1, string2)
nostrmsg = "No string"
fullng = len(string1)
half = len(string1)/2
if half>0 then hfstr1 = mid(string1, 1, half)
str2lng = len(string2)
if str2lng>0 then paste = hfstr1+string2
lshalf = mid(string1, half+1, fullng)
if str2lng+half=str2lng+half then insert = paste+lshalf
End Function

1 个答案:

答案 0 :(得分:1)

从函数返回值的知识,函数应该执行的暂定规范以及基本测试框架开始:

Option Explicit

' returns the string build by inserting m(iddle) into f(ull) at half position
Function insertInto(f, m)
  insertInto = "?"
End Function

Dim t, r
For Each t In Array( _
   Array("ABEF", "CD", "ABCDEF") _
)
   r = insertInto(t(0), t(1))
   WScript.Echo t(0), t(1), r, CStr(r = t(2))
Next

输出:

cscript 26873276.vbs
ABEF CD ? False

然后了解LeftMidLen\ (integer division)

最后,重写insertInto(),使结果以

开头
cscript 26873276.vbs
ABEF CD ABCDEF True