0
我有一個字符列表[#"h", #"i", #" ", #"h", #"i"]
,我想從中獲取第一個字(每個空格之前的第一個字符序列)。試圖從字符列表中獲取第一個字
我寫了一個函數,它給了我這樣的警告:
標準輸入:13.1-13.42警告:因爲價值 限制型乏不是一概而論的實例化虛擬類型(X1,X2,... 。)
這裏是我的代碼:
fun next [] = ([], [])
| next (hd::tl) = if(not(ord(hd) >= 97 andalso ord(hd) <= 122)) then ([], (hd::tl))
else
let
fun getword [] = [] | getword (hd::tl) = if(ord(hd) >= 97 andalso ord(hd) <= 122) then [hd]@getword tl else [];
in
next (getword (hd::tl))
end;
編輯:
預期的輸入和輸出
next [#"h", #"i", #" ", #"h", #"i"] => ([#"h", #"i"], [#" ", #"h", #"i"])
任何人可以幫助我解決?謝謝!
目標是不使用常見的ML函數,我們必須遞歸地完成整個事情。 但是你的建議真的很好!謝謝 – madcrazydrumma