Разделить строку в списке символов рекурсивно - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь рекурсивно разбить строку на список символов.Это то, что я должен далеко:

let rec explode2 (s: string) =
  match s with 
  | "" -> []
  | s ->
    let newWord = s.[1..]
    let newArr = List.ofArray(newWord.ToCharArray())
    explode2 newWord
    newArr

Я иду в правильном направлении?

1 Ответ

0 голосов
/ 03 марта 2019

Первая часть верна (для возврата списка, а не массива):

  match s with 
  | "" -> []

она заботится о пустом строковом регистре, который в рекурсивной функции является конечным регистром.

Для второй части вам необходимо:

  • отделить первый символ от остальной части строки.
  • вызов функции с остальной частью строки.
  • объединение первого символа с возвращенным списком.

Чтобы объединить элемент в список, вы можете использовать:: оператор:

c :: lst

Вы добираетесь, так что продолжайте.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...