-1
我想在ocaml中創建一個對列表,但問題是當列表的長度不同時,我不熱點做出對(a,b),當其中一個元素不存在時。如何合併Lucene索引文件?
我想在ocaml中創建一個對列表,但問題是當列表的長度不同時,我不熱點做出對(a,b),當其中一個元素不存在時。如何合併Lucene索引文件?
最有可能的,你必須創建一個類來封裝不同長度的情況下,
type ('a,'b) combined = Both of 'a * 'b | Left of 'a | Right of 'b
let rec zipwith xs ys = match xs,ys with
| x::xs,y::ys -> Both (x,y) :: (zipwith xs ys)
| x::xs, [] -> Left x :: (zipwith xs ys)
| [], y::ys -> Right y :: (zipwith xs ys)
| [], [] -> []
# zipwith [1;2;3] [1;2];;
- : (int, int) combined list = [Both (1, 1); Both (2, 2); Left 3]
你必須做出關於尾呼籲這對長列表工作的優化,但這是如何解決問題的開始。
請添加示例輸入和期望輸出,也請分享您已經編寫的代碼。 – Istvan
亞歷克斯,假裝你是我們,你給了我們什麼除了「請爲我寫這個代碼」 –