1
[ "a"; "b"; "c"; "a", "d", "e"]와 같은 문자열 목록이 있는데 어떻게 그 문자열 목록을 만들 수 있는지 알고 싶습니다. [ "ABCA", "D", "E"] y는 패턴이 일치하는 시도하지만 난 너무 많은 문제 수 :F #에서 패턴 일치를 사용하여 [ "a"; "b"; "c"; "a"; "d"; "e"]를 [ "abca"; "d"; "e"]
let rec modifyString lista =
match lista with
|[] -> []
//try to get the place where my string start
|head::tail when head = "a" ->
let tryHard = helperString tail
tryHard
// try to pass a list that is not with 'a'
|primero::segundo ->
[primero] :: modifyString segundo
// Try to get de tail list that i know is after "a"
let rec helperString lista =
match lista with
|[] -> []
|head::tail when tail.Head <> string '"' ->
let aux = head + " "
let aux2 = head :: helperString tail
aux2
는 지금은 거의 솔루션이 문제 지금이 그 ABCDE 같은 것을 [주어 졌을 때 "efg"hij] (모든 요소가 문자열 인 문자열 목록이라고 생각합니다) 출력은 [ "a"; "b"; "c"; "d"; "ef"; 나는 마침내 단지의 마지막 업데이트에서이 작업을 수행하는 방법을 얻을
let rec helperString lista =
match lista with
|head::tail when tail.Head = string '"' ->
head + tail.Head::tail.Tail
|head::tail when tail.Head <> string '"' ->
let aux = helperString tail
head + tail.Head :: tail.Tail
let rec modifyString listab =
match listab with
|[] -> []
|head::tail when tail.Head <> string '"' ->
head :: modifyString tail
|head::tail when tail.Head = string '"' ->
helperString tail.Tail
| [] -> [] 나는 꼬리를 통과하는 순간에 빈 목록이 []하지만 메신저 이후 전체 목록 만 사용하지 않을 것이라고 가정한다.? 목록의 일부 요소는 [[] -> [] 사용하지 않아야합니다. –
미안하지만,이 중 하나는 다음과 같습니다 :'head :: tail when tail.Head <> string ' "''-'tail.Head == " –
내가 위력적인 방식으로가는 경우에 나는 잘 모르는 것을 향상 시키려고 노력한다 ..... –