let rec filtersList2fromList1 (List1:string list) (List2:string list) : string list =
let finalList = [] in
match List1 with
| s :: tl -> if List.mem s List2 = true
then finalList @ [s] else filtersList2fromList1 tl List2
| [] -> []
do đó,Tôi muốn làm 2 việc sau khi một "sau đó" tuyên bố trong một "nếu .. sau đó .. khác" tuyên bố
filtersList2fromList1 ["x";"y";"z"] ["z";"x"] would be ["x";"z"]
filtersList2fromList1 ["x";"y";"z"] ["x"] would be ["x"]
những gì tôi muốn nói thêm là, nếu Câu lệnh "if" là đúng, không chỉ nó sẽ thực hiện "finalList @ [s]", mà còn "filtersList2fromList1 tl List2" để nó sẽ là đệ quy. Không thực thi "filtersList2fromList1 tl List2" khi đúng,
filtersList2fromList1 ["x";"y";"z"] ["z";"x"]
sẽ chỉ là ["x"]
, điều đó là sai.
Tôi nên giải quyết vấn đề này như thế nào?
Thank you very much
định nghĩa của dolls_of là gì? –
Tại sao bạn tạo 'finalList'? Nó hoàn toàn không làm gì cả. Hãy nhớ rằng các danh sách là không thay đổi, vì vậy 'finalList @ [s]' không thay đổi giá trị của 'finalList' nhưng trả về một danh sách mới. –