我不完全确定我在这里做错了什么。我已经通过输入和输出测试了代码,并且它按照需要运行,没有双关语意。 :'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
答案 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
然后了解Left,Mid,Len和\ (integer division)。
最后,重写insertInto(),使结果以
开头cscript 26873276.vbs
ABEF CD ABCDEF True